/**
 * JSON Schema Output Validation
 *
 * Validates LLM output against a JSON Schema definition.
 * Includes JSON extraction from markdown code blocks and
 * a built-in schema validator (no external deps).
 */
export interface JsonSchemaConfig {
    schema: Record<string, any>;
    strict: boolean;
    extractFromMarkdown: boolean;
}
export interface ValidationError {
    path: string;
    message: string;
    expected?: string;
    actual?: string;
}
export interface ValidationResult {
    valid: boolean;
    errors: ValidationError[];
    data?: any;
}
export declare class JsonSchemaOutput {
    private config;
    constructor(config: JsonSchemaConfig);
    /**
     * Validate output against schema
     */
    validate(output: string): ValidationResult;
    /**
     * Extract JSON from various formats
     */
    extractJson(text: string): string | null;
    /**
     * Extract from markdown code blocks
     */
    private extractFromCodeBlock;
    /**
     * Simple JSON Schema validator
     */
    private validateSchema;
    /**
     * Check if value matches expected type
     */
    private checkType;
    /**
     * Check enum values
     */
    private checkEnum;
    /**
     * Check required fields
     */
    private checkRequired;
    /**
     * Check pattern match
     */
    private checkPattern;
    /**
     * Format valid output as pretty JSON
     */
    formatValidOutput(data: any): string;
    /**
     * Get the schema
     */
    getSchema(): Record<string, any>;
}
