type NativeStructuredOutputSchemaKeyword = '$defs' | '$ref' | 'type' | 'description' | 'properties' | 'required' | 'additionalProperties' | 'enum' | 'anyOf' | 'items' | 'minLength' | 'maxLength' | 'minItems' | 'maxItems'; type ProjectedKeyword = Key extends 'oneOf' ? 'anyOf' : Key extends 'const' ? 'enum' : Key extends NativeStructuredOutputSchemaKeyword ? Key : never; type ProjectedSchemaRecord = Value extends object ? { readonly [Key in keyof Value]: ProjectedNativeStructuredOutputSchema; } : never; export type ProjectedNativeStructuredOutputSchema = Value extends readonly unknown[] ? { readonly [Index in keyof Value]: ProjectedNativeStructuredOutputSchema; } : Value extends object ? { readonly [Key in keyof Value as ProjectedKeyword]: Key extends 'const' ? readonly [Value[Key]] : Key extends 'properties' | '$defs' ? ProjectedSchemaRecord : ProjectedNativeStructuredOutputSchema; } : Value; export declare function projectNativeStructuredOutputSchema(schema: Schema): ProjectedNativeStructuredOutputSchema; export {}; //# sourceMappingURL=native-structured-output-schema.d.ts.map