import type { SummaryLength } from "../shared/contracts.js";
import type { SlideTimelineEntry } from "./text-types.js";
export declare const splitSlideTitleFromText: ({ text, }: {
    text: string;
    slideIndex: number;
    total: number;
}) => {
    title: string | null;
    body: string;
};
export declare const ensureSlideTitleLine: ({ text, slide, total, }: {
    text: string;
    slide: SlideTimelineEntry;
    total: number;
}) => string;
export declare function findSlidesSectionStart(markdown: string): number | null;
export declare function splitSummaryFromSlides(markdown: string): {
    summary: string;
    slidesSection: string | null;
};
export declare function parseSlideSummariesFromMarkdown(markdown: string): Map<number, string>;
export declare function extractSlideMarkers(markdown: string): number[];
export declare function normalizeSummarySlideHeadings(markdown: string): string;
export declare function buildSlideTextFallback({ slides, transcriptTimedText, lengthArg, }: {
    slides: SlideTimelineEntry[];
    transcriptTimedText: string | null | undefined;
    lengthArg: {
        kind: "preset";
        preset: SummaryLength;
    } | {
        kind: "chars";
        maxCharacters: number;
    };
}): Map<number, string>;
export declare function coerceSummaryWithSlides({ markdown, slides, transcriptTimedText, lengthArg, reserveIntro, }: {
    markdown: string;
    slides: SlideTimelineEntry[];
    transcriptTimedText?: string | null;
    lengthArg: {
        kind: "preset";
        preset: SummaryLength;
    } | {
        kind: "chars";
        maxCharacters: number;
    };
    reserveIntro?: boolean;
}): string;
