import type { ExecFileFn } from "../../../markitdown.js";
import { type AssetAttachment } from "../../attachments.js";
import type { ExtractDiagnosticsForFinishLine } from "../../finish-line.js";
export type AssetExtractContext = {
    env: Record<string, string | undefined>;
    envForRun: Record<string, string | undefined>;
    execFileImpl: ExecFileFn;
    timeoutMs: number;
    preprocessMode: "off" | "auto" | "always";
};
export type AssetExtractResult = {
    content: string;
    diagnostics: ExtractDiagnosticsForFinishLine;
};
export declare function extractAssetContent({ ctx, attachment, maxCharacters, }: {
    ctx: AssetExtractContext;
    attachment: AssetAttachment;
    maxCharacters?: number | null;
}): Promise<AssetExtractResult>;
