import type { CompiledTemplate } from './template-compiler';
/**
 * Hydrate a pre-compiled template with request-time data.
 *
 * This is the serve-time counterpart to compileTemplate(). It takes a
 * compiled template (with placeholder tokens) and a request context,
 * executes server scripts, evaluates expressions, and returns final HTML.
 *
 * @param compiled - The pre-compiled template from build time
 * @param requestContext - Request-time context (route params, session, etc.)
 * @returns Final HTML ready to send to the browser
 */
export declare function hydrateTemplate(compiled: CompiledTemplate, requestContext?: Record<string, any>): Promise<string>;
/**
 * Like `hydrateTemplate`, but also returns any streaming-SSR boundaries the
 * page's `<script server>` exported (`streamBoundaries`) — re-run per request,
 * so they're fresh. The production server uses this to stream a page's shell
 * first, then its boundaries (#1746). `boundaries` is `undefined` for a normal
 * page. (The low-level `streamBoundaries` form; the `@stream` sugar's captured
 * templates aren't serialized into the compiled template, so use the function
 * form in production.)
 */
export declare function hydrateTemplateStream(compiled: CompiledTemplate, requestContext?: Record<string, any>): Promise<{ html: string, boundaries?: { id: string, render: () => Promise<string> }[] }>;
/**
 * Hydrate a fragment (for SPA navigation).
 * Same as hydrateTemplate but returns the fragment portion.
 */
export declare function hydrateFragment(compiled: CompiledTemplate, requestContext?: Record<string, any>): Promise<string>;
