import type { EcoComponent, EcoPageLayoutEntry, LayoutPropsContext } from '../../../types/public-types.js'; import type { DocumentShellLayoutInput } from './document-shell-render.service.js'; export type LayoutShellPropsContext = LayoutPropsContext & { pageProps?: Record; }; export type DocumentShellLayoutResolutionInput = LayoutShellPropsContext & { layout?: EcoComponent; layoutEntries?: EcoPageLayoutEntry[]; }; /** * Resolves the default shell props passed to a layout tier during route render. */ export declare function resolveLayoutShellProps(context: LayoutShellPropsContext): Record; /** * Resolves props for one layout entry, merging shell props with an optional factory. */ export declare function resolveLayoutEntryProps(entry: EcoPageLayoutEntry, context: LayoutShellPropsContext): Record; /** * Resolves declarative layout entries into the document-shell inputs used during route render. * * @remarks Layout prop factories must be evaluated here so integrations do not * silently fall back to the innermost layout and discard route-specific props. */ export declare function resolveDocumentShellLayouts(input: DocumentShellLayoutResolutionInput): DocumentShellLayoutInput[]; /** * Reads the normalized layout stack from a page component config. */ export declare function resolvePageLayoutComponents(layouts?: EcoPageLayoutEntry['component'][]): EcoPageLayoutEntry['component'][]; /** * Returns the innermost layout component from a normalized page layout stack. */ export declare function resolveInnermostPageLayout(layouts?: EcoPageLayoutEntry['component'][]): EcoPageLayoutEntry['component'] | undefined;