import type { AgentToolResult } from '@earendil-works/pi-agent-core';
import type { AssistantMessage } from '@earendil-works/pi-ai';
import type { Config } from '../../config/schema.js';
import type { ImageAttempt } from './image-model-fallback.js';
import { type ToolModelConfig } from './tool-model-config.js';
export type ImageModelConfig = ToolModelConfig;
export declare function decodeDataUrl(dataUrl: string): {
    buffer: Buffer;
    mimeType: string;
    kind: 'image';
};
export declare function coerceImageAssistantText(params: {
    message: AssistantMessage;
    provider: string;
    model: string;
}): string;
export declare function coerceImageModelConfig(cfg?: Config): ImageModelConfig;
export declare function applyImageGenerationModelConfigDefaults(cfg: Config | undefined, imageGenerationModelConfig: ToolModelConfig): Config | undefined;
export declare function resolvePromptAndModelOverride(args: Record<string, unknown>, defaultPrompt: string): {
    prompt: string;
    modelOverride?: string;
};
export declare function buildImageToolTextResult(result: {
    text: string;
    provider: string;
    model: string;
    attempts: ImageAttempt[];
}, extraDetails: Record<string, unknown>): AgentToolResult<Record<string, unknown>>;
