/** * Type definitions for DataBridge generator package */ export interface GeneratorConfig { projectName: string; database: { url: string; }; api: { outputPath: string; port: number; openapi?: { title?: string; version?: string; description?: string; servers?: Array<{ url: string; description?: string; }>; }; }; } export interface OpenAPISpec { openapi: string; info: InfoObject; servers: ServerObject[]; paths: Record; components: { schemas: Record; securitySchemes?: Record; }; } export interface InfoObject { title: string; description?: string; version: string; } export interface ServerObject { url: string; description?: string; } export interface PathItem { get?: Operation; post?: Operation; put?: Operation; patch?: Operation; delete?: Operation; } export interface Operation { operationId: string; summary?: string; description?: string; tags?: string[]; parameters?: Parameter[]; requestBody?: RequestBody; responses: Record; } export interface Parameter { name: string; in: 'query' | 'path' | 'header' | 'cookie'; required?: boolean; schema: SchemaObject; description?: string; } export interface RequestBody { required?: boolean; content: Record; } export interface MediaType { schema: SchemaObject | Reference; } export interface Response { description: string; content?: Record; } export interface SchemaObject { type?: string; format?: string; description?: string; properties?: Record; required?: string[]; items?: SchemaObject | Reference; enum?: (string | number | boolean)[]; minimum?: number; maximum?: number; default?: unknown; nullable?: boolean; readOnly?: boolean; pattern?: string; $ref?: string; } export interface Reference { $ref: string; } export interface SecurityScheme { type: string; scheme?: string; bearerFormat?: string; in?: string; name?: string; } export interface ModelDefinition { name: string; fields: FieldDefinition[]; } export interface FieldDefinition { name: string; type: string; required: boolean; list: boolean; relation?: string; } //# sourceMappingURL=types.d.ts.map