import { InstanceProvider } from '@aurelia/kernel'; import type { Constructable, IContainer, IDisposable } from '@aurelia/kernel'; import type { ICustomElementViewModel, ICustomElementController } from './templating/controller'; import { IPlatform } from './platform'; import type { ISSRScope } from './templating/ssr'; export interface IAppRootConfig { host: HTMLElement; component: T | Constructable; /** * When a HTML form is submitted, the default behavior is to "redirect" the page to the action of the form * This is not desirable for SPA applications, so by default, this behavior is prevented. * * This option re-enables the default behavior of HTML forms. */ allowActionlessForm?: boolean; /** * Indicates strictness of expression evaluation. * * When strictBinding is true, standard JS behavior applies, which means accessing a property of undefined will throw an error. * Use optional syntaxes (?./?.()/?.[]) to prevent errors. * * When strictBinding is false (default), the behavior is more lenient, which means accessing a property of undefined will return undefined. * In this mode, calling an undefined function will return undefined as well. */ strictBinding?: boolean; /** * Tree-shaped SSR manifest scope for hydration. * Built by recordManifest() after SSR render, mirrors the controller tree. */ ssrScope?: ISSRScope; } export interface IAppRoot extends IDisposable { readonly config: IAppRootConfig; /** * The host element of an application */ readonly host: HTMLElement; /** * The root container of an application */ readonly container: IContainer; /** * The controller of the root custom element of an application */ readonly controller: ICustomElementController; /** * The platform of an application for providing globals & DOM APIs */ readonly platform: IPlatform; activate(): void | Promise; deactivate(): void | Promise; } export declare const IAppRoot: import("@aurelia/kernel").InterfaceSymbol>; export declare class AppRoot ? R : T)> implements IAppRoot { readonly config: IAppRootConfig; readonly container: IContainer; readonly host: HTMLElement; readonly platform: IPlatform; get controller(): ICustomElementController; constructor(config: IAppRootConfig, container: IContainer, rootProvider: InstanceProvider, enhance?: boolean); activate(): void | Promise; deactivate(): void | Promise; dispose(): void; } //# sourceMappingURL=app-root.d.ts.map