/**
 * Native structured output support for different LLM providers in TypeScript
 */
import { StructuredOutput } from './types';
export declare class StructuredOutputHandler {
    /**
     * Prepare structured output configuration for OpenAI
     */
    prepareOpenAIStructured(schema: StructuredOutput | object): any;
    /**
     * Prepare structured output configuration for Gemini
     */
    prepareGeminiStructured(schema: StructuredOutput | object): any;
    /**
     * Prepare structured output configuration for Claude
     */
    prepareClaudeStructured(schema: StructuredOutput | object, toolName?: string): any;
    /**
     * Parse OpenAI structured response
     */
    parseOpenAIResponse(response: any, _schema: StructuredOutput | object): any;
    /**
     * Parse Gemini structured response
     */
    parseGeminiResponse(response: any, _schema: StructuredOutput | object): any;
    /**
     * Parse Claude structured response from tool use
     */
    parseClaudeResponse(response: any, _schema: StructuredOutput | object): any;
    /**
     * Check if value is a StructuredOutput interface (not a plain JSON schema)
     */
    private isStructuredOutput;
    /**
     * Convert a type/class to JSON schema (simplified)
     */
    private typeToJsonSchema;
    /**
     * Convert JSON schema to Gemini schema format
     */
    private jsonToGeminiSchema;
}
//# sourceMappingURL=structured-output.d.ts.map