import type { ExtractedLinkContent } from "../../../content/index.js";
import type { UrlSummaryResolution } from "../../../engine/web-summary.js";
import { type SlideExtractionResult } from "../../../slides/index.js";
import type { AssetSummaryResult } from "../asset/types.js";
import type { UrlFlowContext } from "./types.js";
type UrlFlowResultBase = {
    extracted: ExtractedLinkContent;
    slides: SlideExtractionResult | null;
};
export type UrlFlowResult = (UrlFlowResultBase & {
    kind: "delegated-summary";
    summary: AssetSummaryResult;
}) | (UrlFlowResultBase & {
    kind: "extraction";
    url: string;
    prompt: string;
    effectiveMarkdownMode: "off" | "auto" | "llm" | "readability";
}) | (UrlFlowResultBase & {
    kind: "summary";
    url: string;
    prompt: string;
    effectiveMarkdownMode: "off" | "auto" | "llm" | "readability";
    resolution: UrlSummaryResolution;
});
export declare function executeUrlFlow({ ctx, url, isYoutubeUrl, }: {
    ctx: UrlFlowContext;
    url: string;
    isYoutubeUrl: boolean;
}): Promise<UrlFlowResult>;
export {};
