import type { SummaryLength } from "../shared/contracts.js";
import type { SlideTimelineEntry, TranscriptSegment } from "./text-types.js";
export declare function interleaveSlidesIntoTranscript({ transcriptTimedText, slides, }: {
    transcriptTimedText: string;
    slides: SlideTimelineEntry[];
}): string;
export declare function parseTranscriptTimedText(input: string | null | undefined): TranscriptSegment[];
export declare function formatTimestamp(seconds: number): string;
export declare function resolveSlideTextBudget({ lengthArg, slideCount, }: {
    lengthArg: {
        kind: "preset";
        preset: SummaryLength;
    } | {
        kind: "chars";
        maxCharacters: number;
    };
    slideCount: number;
}): number;
export declare function resolveSlideWindowSeconds({ lengthArg, }: {
    lengthArg: {
        kind: "preset";
        preset: SummaryLength;
    } | {
        kind: "chars";
        maxCharacters: number;
    };
}): number;
export declare function getTranscriptTextForSlide({ slide, nextSlide, segments, budget, windowSeconds, }: {
    slide: SlideTimelineEntry;
    nextSlide: SlideTimelineEntry | null;
    segments: TranscriptSegment[];
    budget: number;
    windowSeconds: number;
}): string;
export declare function formatOsc8Link(label: string, url: string | null, enabled: boolean): string;
export declare function buildTimestampUrl(sourceUrl: string, seconds: number): string | null;
