import type { CacheMode, FetchLinkContentOptions } from "../../../content/index.js";
type UrlFetchFlags = {
    timeoutMs: number;
    maxExtractCharacters?: number | null;
    youtubeMode: "auto" | "web" | "apify" | "yt-dlp" | "no-auto";
    videoMode: "auto" | "transcript" | "understand";
    embeddedVideoMode: "auto" | "off" | "prefer" | "both";
    transcriptTimestamps: boolean;
    transcriptDiarization: "auto" | "elevenlabs" | "openai" | null;
    firecrawlMode: "off" | "auto" | "always";
    slides: object | null;
    throwOnAssetLikeHtmlError?: boolean;
};
type UrlMarkdownOptions = {
    effectiveMarkdownMode: "off" | "auto" | "llm" | "readability";
    markdownRequested: boolean;
};
export declare function shouldPreferTranscriptForTarget({ targetUrl, videoMode, slides, }: {
    targetUrl: string;
    videoMode: UrlFetchFlags["videoMode"];
    slides: UrlFetchFlags["slides"];
}): boolean;
export declare function resolveUrlFetchOptions({ targetUrl, flags, markdown, cacheMode, }: {
    targetUrl: string;
    flags: UrlFetchFlags;
    markdown: UrlMarkdownOptions;
    cacheMode: CacheMode;
}): {
    localFile: boolean;
    options: FetchLinkContentOptions;
};
export {};
