import { Repository } from 'typeorm'; import { UsageLog } from './usage.entity'; import { RedisService } from '../common/redis.service'; export declare class UsageService { private usageRepository; private redisService; private readonly logger; constructor(usageRepository: Repository, redisService: RedisService); recordRequest(data: { tenantId: string; apiKeyId: string; endpoint: string; method: string; statusCode: number; responseTimeMs: number; userAgent?: string; ipAddress?: string; }): Promise; getMonthlyUsage(tenantId: string): Promise; checkQuota(tenantId: string, limit: number): Promise<{ allowed: boolean; used: number; }>; checkRateLimit(tenantId: string, limit: number): Promise<{ allowed: boolean; used: number; }>; getUsageHistory(tenantId: string, days?: number): Promise; getUsageSummary(tenantId: string, plan?: string): Promise<{ monthlyUsage: number; monthlyLimit: any; totalToday: number; avgLatency: number; successRate: number; lastUpdated: Date; }>; private getMonthlyKey; private getRateLimitKey; }