/**
 * OwlCoda Native StructuredOutput Tool (SyntheticOutputTool)
 *
 * Returns structured JSON output for non-interactive sessions.
 * Validates input against a provided JSON schema.
 *
 * Upstream parity notes:
 * - Upstream uses Ajv validation, only enabled in non-interactive mode
 * - Our version: validates a focused JSON Schema subset, returns formatted JSON
 */
import type { NativeToolDef } from './types.js';
export interface StructuredOutputInput {
    schema?: JsonSchema;
    data?: unknown;
    [key: string]: unknown;
}
type JsonSchemaType = 'object' | 'array' | 'string' | 'number' | 'integer' | 'boolean' | 'null';
interface JsonSchema {
    type?: JsonSchemaType | JsonSchemaType[];
    required?: string[];
    properties?: Record<string, JsonSchema>;
    additionalProperties?: boolean | JsonSchema;
    items?: JsonSchema;
    enum?: unknown[];
    const?: unknown;
}
export declare function createStructuredOutputTool(): NativeToolDef<StructuredOutputInput>;
export {};
