import type { ModelAttempt } from "../../../engine/types.js";
import { type ConvertTranscriptToMarkdown } from "../../../llm/transcript-to-markdown.js";
import type { UrlFlowContext } from "./types.js";
export type MarkdownModel = ModelAttempt & {
    transport: "native" | "openrouter";
    llmModelId: string;
};
export type MarkdownConverters = {
    markdownRequested: boolean;
    transcriptMarkdownRequested: boolean;
    effectiveMarkdownMode: "off" | "auto" | "llm" | "readability";
    markdownProvider: "none" | "xai" | "openai" | "google" | "anthropic" | "zai" | "nvidia" | "minimax" | "github-copilot" | "ollama";
    markdownModel: MarkdownModel | null;
    convertHtmlToMarkdown: ((args: {
        url: string;
        html: string;
        title: string | null;
        siteName: string | null;
        timeoutMs: number;
    }) => Promise<string>) | null;
    convertTranscriptToMarkdown: ConvertTranscriptToMarkdown | null;
};
export declare function createMarkdownConverters(ctx: UrlFlowContext, options: {
    isYoutubeUrl: boolean;
}): MarkdownConverters;
