export interface HonoEnv { DB: D1Database; METADATA_KV: KVNamespace; VECTORS_R2: R2Bucket; AI: Ai; VECTOR_INDEX: DurableObjectNamespace; ENVIRONMENT?: string; API_VERSION?: string; MAX_VECTOR_DIMENSION?: string; DEFAULT_SIMILARITY_THRESHOLD?: string; MAX_QUERY_COMPLEXITY?: string; MAX_QUERY_DEPTH?: string; RATE_LIMIT_REQUESTS_PER_MINUTE?: string; CACHE_TTL_SECONDS?: string; ENABLE_AUTH?: string; ENABLE_RATE_LIMITING?: string; ENABLE_CORS?: string; LOG_LEVEL?: string; } declare module 'hono' { interface ContextVariableMap { requestContext: { id: string; startTime: number; ip: string; userAgent: string; path: string; method: string; }; user: { sub: string; email?: string; name?: string; role?: string; permissions?: string[]; } | undefined; userId: string | undefined; apiKey: { id: string; name?: string; permissions?: string[]; rateLimit?: number; } | undefined; validatedBody: any; validatedQuery: any; validatedParams: any; validatedHeaders: any; rateLimit: { limit: number; remaining: number; resetTime: number; }; cache: { key: string; ttl: number; hit: boolean; }; } } export interface HonoRequestContext { id: string; startTime: number; ip: string; userAgent: string; path: string; method: string; } export interface UserContext { sub: string; email?: string; name?: string; role?: string; permissions?: string[]; } export interface ApiKeyContext { id: string; name?: string; permissions?: string[]; rateLimit?: number; } //# sourceMappingURL=hono-env.d.ts.map