import type { Component } from 'vue';
export type UnsafeIslandPropKey = 'template';
export type ReservedRootIslandPropKey = 'as';
/**
 * Find a `template` key anywhere in island props. With the Vue runtime compiler bundled, a
 * `template` string reaching component resolution would be compiled and executed. (`render`
 * is not checked: props arrive as JSON, so it can only be an inert string, never a function.)
 *
 * @internal
 */
export declare function findUnsafeIslandPropKey(value: unknown): UnsafeIslandPropKey | undefined;
/**
 * Find a request-supplied `as` prop that the island does not declare. An undeclared prop falls
 * through as an attribute onto the island's root, so on a polymorphic root (e.g. `reka-ui` /
 * `@nuxt/ui`) it drives dynamic component resolution unbidden. A declared `as` is the island's
 * own API and is left alone, as is any island that opts out of attribute inheritance. Only the
 * top level is checked; props the author forwards into `<component :is>` are their responsibility.
 *
 * @internal
 */
export declare function findReservedRootIslandPropKey(value: unknown, component: Component): ReservedRootIslandPropKey | undefined;
