/**
 * Schema Sanitizer
 *
 * Sanitizes tool input_schema to only include fields supported by Google's
 * Gemini/Vertex AI function_declarations Schema object.
 *
 * This sanitizer runs exclusively in the CLIProxy execution path (Gemini, Codex,
 * Antigravity, etc.), never for direct Anthropic API requests.
 *
 * Gemini supports a subset of OpenAPI 3.0 schema — fields outside this subset
 * (like "examples", "$ref", "oneOf", etc.) cause 400 errors.
 *
 * Reference: https://ai.google.dev/api/rest/v1beta/cachedContents#Schema
 */
export interface SchemaSanitizationResult {
    /** The sanitized schema */
    schema: Record<string, unknown>;
    /** Number of properties removed */
    removedCount: number;
    /** List of removed property paths for logging */
    removedPaths: string[];
}
/**
 * Sanitize an input_schema object, removing fields unsupported by Gemini.
 *
 * @param inputSchema The tool's input_schema object
 * @returns Sanitization result with cleaned schema and metadata
 */
export declare function sanitizeInputSchema(inputSchema: Record<string, unknown> | null | undefined): SchemaSanitizationResult;
/**
 * Sanitize an array of tools, cleaning their input_schema properties.
 *
 * @param tools Array of tool definitions
 * @returns Object with sanitized tools and total removed count
 */
export declare function sanitizeToolSchemas(tools: Array<{
    name: string;
    input_schema?: Record<string, unknown>;
    [key: string]: unknown;
}>): {
    tools: typeof tools;
    totalRemoved: number;
    removedByTool: Array<{
        name: string;
        removed: string[];
    }>;
};
//# sourceMappingURL=schema-sanitizer.d.ts.map