import * as BundledReact from "react"; import type { RuntimeAdapter } from "../../platform/adapters/base.js"; import type { LayoutItem, MdxBundle, MDXComponents } from "../../types/index.js"; import type { EntityInfo } from "../../types/index.js"; import type { VeryfrontConfig } from "../../config/index.js"; import type { ImportMapConfig } from "../../modules/import-map/types.js"; import type { LayoutComponentCache } from "./utils/component-loader.js"; import type { loadComponentFromSource } from "../../modules/react-loader/component-loader.js"; import { type DependencyPinningSourceInput } from "../../transforms/esm/package-registry.js"; import type { RenderEnvironment } from "../context/render-context.js"; export interface LayoutApplicationOptions { projectDir: string; projectId: string; projectSlug: string; contentSourceId: string; preloadedImportMap?: ImportMapConfig | null; adapter: RuntimeAdapter; config: VeryfrontConfig; layoutCache: LayoutComponentCache; mergedComponents: MDXComponents; /** Compile vocabulary. Selects minification and tree shaking. */ mode: "development" | "production"; /** * Request vocabulary. Selects preview-only instrumentation. A hosted preview * render is mode "production" with environment "preview". */ environment: RenderEnvironment; moduleServerUrl?: string; requestUrl?: URL; params?: Record; frontmatter?: Record; /** Props from the page's `getServerData`, exposed on the page context as `data`. */ pageProps?: Record; headings?: Array<{ id: string; text: string; level: number; }>; reactVersion?: string; dependencyPinningCacheKey?: string; dependencyPinningDependencies?: Readonly>; dependencyPinningSource?: DependencyPinningSourceInput; /** Server-trusted local-project identity. */ isLocalProject?: boolean; /** Cooperative cancellation for request-scoped SSR module loads. */ signal?: AbortSignal; } interface LayoutApplicatorDependencies { loadComponentFromSource?: typeof loadComponentFromSource; } export declare class LayoutApplicator { private projectDir; private adapter; private config; private layoutCache; private mergedComponents; private mode; private environment; private requestUrl?; private params?; private frontmatter?; private pageProps?; private headings?; private projectId; private projectSlug; private contentSourceId; private preloadedImportMap?; private readonly configuredReactVersion?; private readonly dependencyPinningCacheKey?; private readonly dependencyPinningDependencies?; private readonly dependencyPinningSource?; private readonly isLocalProject; private readonly signal?; private readonly componentSourceLoader?; private reactVersionPromise; private frameworkProviderModulesPromise?; constructor(options: LayoutApplicationOptions, dependencies?: LayoutApplicatorDependencies); private getComponentSourceLoader; private get renderModes(); private getReactVersion; applyLayouts(pageElement: BundledReact.ReactElement, pageInfo: EntityInfo, layoutBundle: MdxBundle | undefined, nestedLayouts: LayoutItem[], layoutDataMap?: Map>, clientPageIsland?: { clientLayoutPaths: readonly string[]; }): Promise; private applyLayoutsOnly; private loadFrameworkProviders; private loadFrameworkProvidersInternal; private wrapWithAppComponent; private loadMdxAppComponent; private wrapWithReservedComponents; } export {}; //# sourceMappingURL=layout-applicator.d.ts.map