export type SseMetaData = {
    model: string | null;
    modelLabel: string | null;
    inputSummary: string | null;
    summaryFromCache?: boolean | null;
};
export type SseSlidesData = {
    sourceUrl: string;
    sourceId: string;
    sourceKind: string;
    slideRuntime?: "browser" | "daemon";
    ocrAvailable: boolean;
    transcriptTimedText?: string | null;
    slides: Array<{
        index: number;
        timestamp: number;
        imageUrl: string;
        ocrText?: string | null;
        ocrConfidence?: number | null;
    }>;
};
export type SseMetricsData = {
    elapsedMs: number;
    summary: string;
    details: string | null;
    summaryDetailed: string;
    detailsDetailed: string | null;
};
export type SseEvent<TAssistant = unknown> = {
    event: "meta";
    data: SseMetaData;
} | {
    event: "slides";
    data: SseSlidesData;
} | {
    event: "status";
    data: {
        text: string;
    };
} | {
    event: "chunk";
    data: {
        text: string;
    };
} | {
    event: "assistant";
    data: TAssistant;
} | {
    event: "metrics";
    data: SseMetricsData;
} | {
    event: "done";
    data: Record<string, never>;
} | {
    event: "error";
    data: {
        message: string;
    };
};
export type RawSseMessage = {
    event: string;
    data: string;
};
export declare function parseSseStream(body: ReadableStream<Uint8Array>): AsyncGenerator<RawSseMessage>;
export declare function encodeSseEvent<TAssistant>(event: SseEvent<TAssistant>): string;
export declare function parseSseEvent<TAssistant = unknown>(message: RawSseMessage): SseEvent<TAssistant> | null;
