export interface GenerateOptions { specPath: string; language: "typescript" | "javascript" | "python"; client: "fetch" | "axios" | "ky" | "requests"; output?: string; auth: "bearer" | "apikey" | "oauth2" | "basic" | "none"; style: "modular" | "class" | "functional"; async: boolean; sync: boolean; baseUrl?: string; name?: string; typesOnly: boolean; } export interface OpenAPISpec { openapi?: string; swagger?: string; info: { title: string; version: string; description?: string; }; servers?: Array<{ url: string }>; paths: Record>; components?: { schemas?: Record; securitySchemes?: Record; }; } export interface PathItem { summary?: string; description?: string; parameters?: Parameter[]; requestBody?: RequestBody; responses?: Record; security?: Array>; } export interface Parameter { name: string; in: "path" | "query" | "header" | "cookie"; required?: boolean; schema?: SchemaObject; description?: string; } export interface RequestBody { required?: boolean; content?: Record; } export interface Response { description?: string; content?: Record; } export interface SchemaObject { type?: string; properties?: Record; items?: SchemaObject; required?: string[]; enum?: Array; $ref?: string; description?: string; nullable?: boolean; format?: string; } export interface SecurityScheme { type: string; scheme?: string; bearerFormat?: string; in?: string; name?: string; }