type NativeIslandRegistry = Record<string, (...args: never[]) => unknown>;
interface NativeOwnerRoot {
    readonly root: HTMLElement;
    readonly outlet?: HTMLElement;
}
interface NativeOwnerScope extends NativeOwnerRoot {
    validate(): void;
    activate(): Promise<void>;
    dispose(): void;
}
/** @internal Router parser sink for admitted server HTML; no sanitization is performed here. */
declare function navigationHTML(html: string): string;
/** Prepare an imported, detached owner with its own typed state envelope. */
declare function prepareNativeOwner(registry: NativeIslandRegistry, root: HTMLElement, stateJson: string, options?: {
    readonly outlet?: HTMLElement;
}): NativeOwnerScope;
/** Partition original document claims before the initial group activates. */
declare function prepareInitialNativeOwners(registry: NativeIslandRegistry, owners: readonly NativeOwnerRoot[]): readonly NativeOwnerScope[];
/** Validate the assembled linear owner branch before the router commits it. */
declare function validateNativeOwnerTree(owners: readonly NativeOwnerScope[]): void;

export { type NativeIslandRegistry, type NativeOwnerRoot, type NativeOwnerScope, navigationHTML, prepareInitialNativeOwners, prepareNativeOwner, validateNativeOwnerTree };
