import type { HTMLMetadata } from "../transforms/mdx/types.js";
import { type ConfiguredRouteDirectories } from "../release-assets/route-path.js";
import type { ReleaseAssetManifest } from "../release-assets/manifest-schema.js";
export interface InjectHTMLContentOptions {
mode: string;
slug: string;
devPort?: number;
/** Absolute path to the page file, used for 'use client' hydration */
pagePath?: string;
/** Project root used to normalize absolute page paths in hydration data */
projectDir?: string;
/** Whether the page has 'use client' directive */
isClientPage?: boolean;
/**
* Route params from the initial match, seeded into the 'use client' hydration
* payload so full-HTML-document client pages hydrate with their params
* instead of an empty object (issue #2741). Catch-all arrays are preserved;
* the client runtime joins them (issue #2742).
*/
params?: Record;
/** Whether page is embedded in Studio iframe */
studioEmbed?: boolean;
/** Project ID for Studio communication */
projectId?: string;
/** Page ID for Studio communication */
pageId?: string;
/** CSP nonce */
nonce?: string;
/** Deployment environment for hydration module selection */
environment?: "preview" | "production";
/** Whether the request is being served from a local project */
isLocalProject?: boolean;
/** WebSocket URL for direct Yjs connection from the bridge */
wsUrl?: string;
/** Yjs document GUID for the bridge to join the same room */
yjsGuid?: string;
/** Pre-built import map JSON for ESM module resolution (injected into ) */
importMapJson?: string;
/** Framework-generated project stylesheet for production shells */
projectStylesheetHref?: string;
/** Request-scoped dependency snapshot used to version RSC module imports. */
dependencyPinningCacheKey?: string;
/** Ready release asset manifest used to hydrate full HTML client pages */
releaseAssetManifest?: ReleaseAssetManifest | null;
/** Production hydration runtime selected from the rendered artifact set */
prodHydrationModulePath?: string;
/** Configured route directories used to map physical page paths to route keys */
directories?: ConfiguredRouteDirectories;
}
export declare function injectHTMLContent(template: string, content: string, metadata: HTMLMetadata, options: InjectHTMLContentOptions): string;
//# sourceMappingURL=html-injection.d.ts.map