/** Supported schema libraries. */
export type SchemaLibrary = 'zod' | 'yup' | 'valibot' | 'all';
/** Output format for generated code. */
export type SchemaOutputFormat = 'typescript' | 'javascript';
/** A detected entity field. */
export interface EntityField {
    name: string;
    type: 'string' | 'number' | 'boolean' | 'date' | 'unknown';
    optional: boolean;
    validations: string[];
}
/** A detected entity from a spec. */
export interface DetectedEntity {
    name: string;
    fields: EntityField[];
}
/** Generated schema code for one library. */
export interface GeneratedSchema {
    library: SchemaLibrary;
    code: string;
    entities: string[];
}
/** Result of schema generation. */
export interface SchemaGenerationResult {
    specId: string;
    library: SchemaLibrary;
    outputFormat: SchemaOutputFormat;
    schemas: GeneratedSchema[];
    entitiesDetected: number;
    outputPath?: string;
}
/** Supported API client frameworks. */
export type ApiClientFramework = 'fetch' | 'tanstack-query';
/** A detected API route from spec text (schema-generator context). */
export interface DetectedApiRoute {
    method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
    path: string;
    description: string;
}
/** Result of API client generation. */
export interface ApiClientResult {
    specId: string;
    framework: ApiClientFramework;
    code: string;
    routesDetected: number;
    outputPath?: string;
}
export interface GenerateValidationSchemaInput {
    projectPath: string;
    specId: string;
    library: SchemaLibrary;
    outputFormat: SchemaOutputFormat;
    outputPath?: string;
}
export interface GenerateApiClientInput {
    projectPath: string;
    specId: string;
    framework: ApiClientFramework;
    outputPath?: string;
}
//# sourceMappingURL=schema-generator.d.ts.map