import type { ExtractedLinkContent } from "../../../content/index.js";
import { type SlideExtractionResult } from "../../../slides/index.js";
import { type SlidesTerminalOutput } from "./slides-output.js";
import { type UrlFlowContext } from "./types.js";
type ProgressStatusLike = {
    clearSlides: () => void;
    setSlides: (text: string, percent?: number | null) => void;
};
export type UrlSlidesSession = {
    getSlidesExtracted: () => SlideExtractionResult | null;
    runSlidesExtraction: () => Promise<SlideExtractionResult | null>;
    slidesOutput: SlidesTerminalOutput | null;
    slidesTimelinePromise: Promise<SlideExtractionResult | null> | null;
    setExtracted: (value: ExtractedLinkContent) => void;
};
export declare function createUrlSlidesSession({ ctx, url, extracted: initialExtracted, cacheStore, progressStatus, renderStatus, renderStatusFromText, updateSummaryProgress, }: {
    ctx: UrlFlowContext;
    url: string;
    extracted: ExtractedLinkContent;
    cacheStore: UrlFlowContext["cache"]["store"] | null;
    progressStatus: ProgressStatusLike;
    renderStatus: (label: string, detail?: string) => string;
    renderStatusFromText: (text: string) => string;
    updateSummaryProgress: () => void;
}): UrlSlidesSession;
export {};
