import { WrapperGS } from "../WrapperGS"; export interface LayoutGS extends WrapperGS { readonly pageContainer: WrapperGS; reset(): void | Promise; } export interface LayoutConstructorGS { new (existingElement?: HTMLElement): TLayout; readonly LayoutName: string; } /** Application-level layout registry shared by browser and server GUI implementations. */ export declare class GuiCtrlGS { private readonly _layouts; registerLayout(constructor: LayoutConstructorGS): void; } /** Browser GUI controller owns one reusable instance of every registered layout. */ export declare class GuiBrowserGS extends GuiCtrlGS { private readonly _root; private readonly _instances; private _currentLayout?; private _currentPage?; constructor(_root: HTMLElement); getLayout(name: string): LayoutGS; get currentLayout(): LayoutGS | undefined; get currentPage(): WrapperGS | undefined; private static validateLayout; }