/** * @typedef {{ * activate() => void; * deactivate() => void; * isActive() => boolean; * }} LayoutEngine * * @typedef {{ * routes: import('../isomorphic/constructRoutes').ResolvedRoutesConfig; * applications: Array; * active?: boolean; * }} LayoutEngineOptions * * @param {LayoutEngineOptions} layoutEngineOptions * @returns {LayoutEngine} */ export function constructLayoutEngine({ routes: resolvedRoutes, applications, active, }: LayoutEngineOptions): LayoutEngine; export function applicationElementId(name: any): string; export type LayoutEngine = { activate(): void; deactivate(): void; isActive(): boolean; }; export type LayoutEngineOptions = { routes: import('../isomorphic/constructRoutes').ResolvedRoutesConfig; applications: Array; active?: boolean; }; /** * We do all of this in a single recursive pass for performance, even though * it makes the code a bit messier */ export type DomChangeInput = { location: URL; routes: Array; parentContainer: HTMLElement; previousSibling?: HTMLElement; shouldMount: boolean; }; export type FindApplicationRouteInput = { location: URL; routes: Array; applicationName: string; };