/**
 * Multimodal content-block builders for helper LLM calls.
 *
 * Normal Shortcut proxy helper LLM calls send provider-family blocks to the
 * shared helper stream proxy:
 * - Claude/Haiku: Anthropic-native image/document blocks.
 * - Gemini/non-Anthropic: LangChain multimodal blocks (`image_url`, `media`).
 *
 * Private-gateway helper calls instead ask for PI semantic blocks so the worker
 * can serialize the same attachment into Anthropic/OpenAI provider APIs.
 */
export interface MultimodalBlockInput {
    readonly filePath: string;
    readonly bytes: Uint8Array;
}
export type MultimodalBlock = Record<string, unknown>;
export type MultimodalBlockResult = MultimodalBlock | {
    error: string;
};
export declare const MultimodalContentBlockFormat: {
    readonly Anthropic: "anthropic";
    readonly ByModel: "by_model";
    readonly Ai: "ai";
};
export type MultimodalContentBlockFormat = (typeof MultimodalContentBlockFormat)[keyof typeof MultimodalContentBlockFormat];
/** Normal Shortcut proxy Gemini/non-Anthropic shape: LangChain multimodal blocks. */
export declare function buildGeminiBlock(input: MultimodalBlockInput): MultimodalBlockResult;
/** Normal Shortcut proxy Claude/Haiku shape: Anthropic-native multimodal blocks. */
export declare function buildAnthropicBlock(input: MultimodalBlockInput): MultimodalBlockResult;
/** Private-gateway worker shape: provider-neutral PI blocks before transport conversion. */
export declare function buildAiBlock(input: MultimodalBlockInput): MultimodalBlockResult;
/** Dispatch normal proxy blocks by model id: Haiku -> Anthropic, everything else -> Gemini. */
export declare function buildContentBlock(model: string, input: MultimodalBlockInput, format?: MultimodalContentBlockFormat): MultimodalBlockResult;
//# sourceMappingURL=multimodal.d.ts.map