import { type Resolvable } from "@akala/core"; import { type OutletDefined, type OutletDefinition } from "../outlet.js"; import { type IScope } from "../scope.js"; import { Control } from "./shared.js"; import { TypedExpression } from "@akala/core/expressions"; export declare const RootElement: unique symbol; export type PageType {}), TScope extends IScope> = OutletDefined & T; export declare function pageOutlet>(options: { template: string | Promise; inject?: Resolvable[]; }): {})>(target: T) => OutletDefinition; export declare function page>(options: { template: string | Promise; inject?: Resolvable[]; }): {}>(target: T) => T & OutletDefined; export declare function withOutlet {}, TScope extends IScope>(target: T, def: OutletDefinition): T & OutletDefined; export declare class Page extends Control<{}, HTMLElement> { constructor(el: HTMLElement, contextExpression?: TypedExpression); }