import { type ExportMessage, type ExportMetadata } from './markdown.js';
export type { ExportMessage, ExportMetadata };
export interface ExportOptions {
    /** Redact API keys, absolute file paths, and other sensitive data. */
    redact?: boolean;
}
export interface SessionExportData {
    messages: ExportMessage[];
    metadata?: ExportMetadata;
    /** Cost in USD, if tracked. */
    cost?: number;
    /** ISO timestamp of export. */
    exportedAt?: string;
}
export declare function redactSensitiveData(text: string): string;
/**
 * redactMessage - Deep-clone a message and redact all string fields that may
 * contain sensitive data (content, reasoning, tool arguments).
 */
export declare function redactMessage(msg: ExportMessage): ExportMessage;
/**
 * exportToJSON - Serialize a session to machine-readable JSON.
 *
 * Output includes metadata (model, provider, session ID, timestamp, token
 * usage totals, cost), then the full message array with all fields preserved.
 */
export declare function exportToJSON(messages: ExportMessage[], metadata?: ExportMetadata, options?: ExportOptions & {
    cost?: number;
}): string;
/**
 * exportToMarkdownExtended - Wrapper around markdown.ts exportToMarkdown that
 * adds cost information and optional redaction.
 */
export declare function exportToMarkdownExtended(messages: ExportMessage[], metadata?: ExportMetadata, options?: ExportOptions & {
    cost?: number;
}): string;
/**
 * exportToHTML - Generate a self-contained, styled HTML document from a
 * conversation. Features:
 *
 * - Embedded CSS (dark theme, readable typography)
 * - Syntax-highlighted fenced code blocks (language class on <code>)
 * - Collapsible <details> sections for tool calls and tool results
 * - Metadata table in the header
 * - Token usage and cost summary at the foot
 */
export declare function exportToHTML(messages: ExportMessage[], metadata?: ExportMetadata, options?: ExportOptions & {
    cost?: number;
}): string;
/**
 * defaultExportPath - Build the default output path for a share export.
 *
 * Format: ~/goodvibes-exports/session-<timestamp>.<ext>
 */
export declare function defaultExportPath(format: 'html' | 'json' | 'md', homeDirectory: string): string;
//# sourceMappingURL=session-export.d.ts.map