import type { MsgContext } from "../auto-reply/templating.js"; import type { BotConfig } from "../config/config.js"; import type { MediaUnderstandingConfig } from "../config/types.tools.js"; import type { MediaAttachment, MediaUnderstandingCapability, MediaUnderstandingDecision, MediaUnderstandingOutput, MediaUnderstandingProvider } from "./types.js"; import { MediaAttachmentCache, type MediaAttachmentCacheOptions } from "./attachments.js"; export type ActiveMediaModel = { provider: string; model?: string; }; type ProviderRegistry = Map; export type RunCapabilityResult = { outputs: MediaUnderstandingOutput[]; decision: MediaUnderstandingDecision; }; export declare function buildProviderRegistry(overrides?: Record): ProviderRegistry; export declare function normalizeMediaAttachments(ctx: MsgContext): MediaAttachment[]; export declare function resolveMediaAttachmentLocalRoots(params: { cfg: BotConfig; ctx: MsgContext; }): readonly string[]; export declare function createMediaAttachmentCache(attachments: MediaAttachment[], options?: MediaAttachmentCacheOptions): MediaAttachmentCache; export declare function clearMediaUnderstandingBinaryCacheForTests(): void; export declare function resolveAutoImageModel(params: { cfg: BotConfig; agentDir?: string; activeModel?: ActiveMediaModel; }): Promise; export declare function runCapability(params: { capability: MediaUnderstandingCapability; cfg: BotConfig; ctx: MsgContext; attachments: MediaAttachmentCache; media: MediaAttachment[]; agentDir?: string; providerRegistry: ProviderRegistry; config?: MediaUnderstandingConfig; activeModel?: ActiveMediaModel; }): Promise; export {};