/**
 * HTML export implementation — reads a session JSONL file and produces
 * a self-contained HTML page with embedded CSS, JS, and session data.
 *
 * The export pipeline: JSONL -> SessionEntry[] -> view model + LLM messages
 * -> base64-encoded JSON injected into an HTML template with theme variables.
 */
import type { SessionEntry, SessionHeader } from '../../core/session-schema.js';
import type { ToolHtmlRenderer } from './types.js';
export interface ExportOptions {
    outputPath?: string;
    themeName?: string;
    /** HTML page title (shown in browser tab) */
    title?: string;
    /** Optional tool renderer for custom tools */
    toolRenderer?: ToolHtmlRenderer;
}
export interface SessionExportSourceData {
    readonly entries: SessionEntry[];
    readonly header: SessionHeader | null;
    readonly leafId: string | null;
}
/** Read a JSONL session file and return the raw header, entries, and leaf id. */
export declare function loadSessionExportSourceFromFile(inputPath: string): SessionExportSourceData;
/** Render an already-loaded session source to a styled HTML document. */
export declare function renderSessionExportHtml(source: SessionExportSourceData, options?: ExportOptions): string;
export declare function exportFromFile(inputPath: string, options?: ExportOptions | string): Promise<string>;
//# sourceMappingURL=export-from-file.d.ts.map