import type { Manifest } from "vite";
export interface WorkerMessage {
    type: string;
    id: string;
}
export interface PipeableStreamOptions {
    bootstrapModules?: string[];
    bootstrapScripts?: string[];
    bootstrapScriptContent?: string;
    signal?: AbortSignal;
    identifierPrefix?: string;
    namespaceURI?: string;
    nonce?: string;
    progressiveChunkSize?: number;
    onShellReady?: () => void;
    onAllReady?: () => void;
    onError?: (error: unknown) => void;
    onPostpone?: (reason: string) => void;
    environmentName?: string;
    importMap?: {
        imports?: Record<string, string>;
    };
}
export interface HtmlRenderState {
    chunks: string[];
    complete: boolean;
    rendered: boolean;
    outDir: string;
    moduleRootPath: string;
    moduleBaseURL: string;
    htmlOutputPath: string;
    id: string;
    pipableStreamOptions: PipeableStreamOptions;
}
export interface RscRenderState {
    id: string;
    outDir: string;
    moduleRootPath: string;
    moduleBaseURL: string;
    rscOutputPath: string;
    componentImport: string;
    propsImport: string;
    pipableStreamOptions: PipeableStreamOptions;
}
export interface ShutdownMessage extends WorkerMessage {
    type: "SHUTDOWN";
}
export interface RscRenderMessage extends WorkerMessage {
    type: "RSC_RENDER";
    pageImport: string;
    propsImport: string;
    pageExportName: string;
    propsExportName: string;
    url: string;
    outDir: string;
    projectRoot: string;
    moduleRootPath: string;
    moduleBaseURL: string;
    moduleBasePath: string;
    moduleBase: string;
    pipableStreamOptions: PipeableStreamOptions;
    cssFiles: string[];
}
export interface RscChunkMessage extends WorkerMessage {
    type: "RSC_CHUNK";
    chunk: string;
    moduleRootPath: string;
    moduleBaseURL: string;
    outDir: string;
    rscOutputPath: string;
    cssFiles: Array<[string, string]>;
}
export interface RscShellReadyMessage extends WorkerMessage {
    type: "SHELL_READY";
}
export interface RscAllReadyMessage extends WorkerMessage {
    type: "ALL_READY";
    outputPath: string;
    contents: string;
}
export interface RscEndMessage extends WorkerMessage {
    type: "RSC_END";
}
export interface RscErrorMessage extends WorkerMessage {
    type: "ERROR";
    error: string;
}
export interface ClientReferenceMessage extends WorkerMessage {
    type: "CLIENT_REFERENCE";
    location: string;
    key: string;
    ref: unknown;
}
export interface ServerReferenceMessage extends WorkerMessage {
    type: "SERVER_REFERENCE";
    location: string;
    key: string;
    ref: unknown;
}
export interface WorkerRscChunkMessage extends WorkerMessage {
    type: "RSC_CHUNK";
    chunk: string;
    moduleRootPath: string;
    moduleBaseURL: string;
    outDir: string;
    htmlOutputPath: string;
    pipableStreamOptions: PipeableStreamOptions;
    clientManifest: Manifest;
    serverManifest: Manifest;
}
export interface ShellReadyMessage extends WorkerMessage {
    type: "SHELL_READY";
}
export interface AllReadyMessage extends WorkerMessage {
    type: "ALL_READY";
    outputPath: string;
    html: string;
}
export interface CssFileMessage extends WorkerMessage {
    type: "CSS_FILE";
    id: string;
    cssFile: string;
    moduleClasses?: Record<string, string>;
}
export type HtmlWorkerMessage = WorkerRscChunkMessage | RscEndMessage | ShutdownMessage;
export type HtmlWorkerResponse = ShellReadyMessage | AllReadyMessage | RscErrorMessage;
export type RscWorkerMessage = RscRenderMessage | RscChunkMessage | RscEndMessage | ShutdownMessage | ClientReferenceMessage | ServerReferenceMessage | CssFileMessage;
export type RscWorkerResponse = RscShellReadyMessage | RscAllReadyMessage | RscErrorMessage | CssFileMessage;
//# sourceMappingURL=types.d.ts.map