import { z } from 'zod'; export interface APIResponse { success: boolean; data?: T; error?: { code: string; message: string; details?: unknown; }; meta?: { pagination?: PaginationMeta; timing?: number; cached?: boolean; }; } export interface PaginationMeta { page: number; limit: number; total: number; totalPages: number; hasNext: boolean; hasPrev: boolean; } export declare const PaginationSchema: z.ZodObject<{ page: z.ZodDefault; limit: z.ZodDefault; offset: z.ZodOptional; }, z.core.$strip>; export type PaginationParams = z.infer; export declare const SortSchema: z.ZodObject<{ field: z.ZodString; direction: z.ZodDefault>; }, z.core.$strip>; export type SortParams = z.infer; export declare const FilterOperatorSchema: z.ZodEnum<{ eq: "eq"; ne: "ne"; gt: "gt"; gte: "gte"; lt: "lt"; lte: "lte"; in: "in"; nin: "nin"; contains: "contains"; startsWith: "startsWith"; endsWith: "endsWith"; exists: "exists"; regex: "regex"; between: "between"; }>; export type FilterOperator = z.infer; export interface FilterCondition { field: string; operator: FilterOperator; value: unknown; } export interface RequestContext { userId?: string; apiKey?: string; rateLimitInfo?: { remaining: number; reset: number; limit: number; }; trace?: { id: string; parentId?: string; }; timing: { start: number; auth?: number; validation?: number; processing?: number; response?: number; }; } export type APIVersion = 'v1' | 'v2'; export type ContentType = 'application/json' | 'application/x-ndjson' | 'text/event-stream' | 'application/octet-stream'; export interface BulkOperation { operation: 'insert' | 'update' | 'delete' | 'upsert'; data: T; id?: string; } export interface BulkResponse { success: boolean; inserted: number; updated: number; deleted: number; errors: Array<{ index: number; error: string; data: T; }>; } export interface SSEEvent { id?: string; event?: string; data: string; retry?: number; } export interface WebSocketMessage { type: string; id?: string; data?: unknown; error?: string; timestamp?: number; } export interface RateLimitConfig { tier: 'free' | 'pro' | 'enterprise'; requests: { perSecond: number; perMinute: number; perHour: number; perDay: number; }; burst: number; concurrent: number; } export interface HealthResponse { status: 'healthy' | 'degraded' | 'unhealthy'; timestamp: string; uptime: number; version: string; services: { database: 'healthy' | 'unhealthy'; cache: 'healthy' | 'unhealthy'; vector: 'healthy' | 'unhealthy'; timeseries: 'healthy' | 'unhealthy'; }; metrics: { requests: { total: number; errors: number; latency: { p50: number; p95: number; p99: number; }; }; database: { connections: number; queries: number; avgQueryTime: number; }; }; } export interface MetricsResponse { timestamp: string; metrics: { requests: { total: number; success: number; errors: number; rate: number; }; latency: { avg: number; p50: number; p95: number; p99: number; }; database: { queries: number; avgQueryTime: number; slowQueries: number; }; memory: { used: number; total: number; percentage: number; }; cache: { hits: number; misses: number; hitRate: number; }; }; } //# sourceMappingURL=api.d.ts.map