import type { OpenAiToolCall } from "./conversation-repair.js";
export type ToolSchemaProvider = {
    modelProvider?: string;
    modelId?: string;
    cleanSchema?: (schema: Record<string, unknown>, context: {
        modelProvider?: string;
        modelId?: string;
    }) => Record<string, unknown>;
};
export interface FunctionToolSource {
    name: string;
    description?: string;
    parameters?: Record<string, unknown>;
}
export interface FunctionToolDefinition {
    type: "function";
    function: {
        name: string;
        description?: string;
        parameters: Record<string, unknown>;
    };
}
export interface CapabilityToolManifestLike {
    name: string;
    description?: string;
    requiredParameters?: string[];
}
export declare function normalizeFunctionToolParameters(parameters: Record<string, unknown> | undefined, options?: ToolSchemaProvider): Record<string, unknown>;
export declare function convertFunctionTools(tools: readonly FunctionToolSource[], options?: ToolSchemaProvider): FunctionToolDefinition[];
export declare function convertCapabilityToolManifestsToFunctionTools(tools: readonly CapabilityToolManifestLike[]): FunctionToolDefinition[];
export declare function normalizeMessageTextContent(content: unknown): string;
export declare function parseOpenAiToolCallsFromChatResponse(responseBody: string): {
    toolCalls: OpenAiToolCall[];
    responseText: string;
};
export declare function buildAssistantToolCallMessage(toolCalls: OpenAiToolCall[], text?: string, thinkingBlocks?: Array<{
    thinking: string;
    signature: string;
}>, reasoningContent?: string): Record<string, unknown>;
export declare function buildToolResultMessage(callId: string, result: {
    ok: boolean;
    payload?: unknown;
    error?: string;
    toolReferences?: string[];
    imageUrls?: string[];
}): Record<string, unknown>;
