Files
url_tracker_tool/apps/api/dist/services/rate-limit.service.d.ts
Andrei 58f8093689 Rebrand from 'Redirect Intelligence v2' to 'URL Tracker Tool V2' throughout UI
- Updated all component headers and documentation
- Changed navbar and footer branding
- Updated homepage hero badge
- Modified page title in index.html
- Simplified footer text to 'Built with ❤️'
- Consistent V2 capitalization across all references
2025-08-19 19:12:23 +00:00

44 lines
1.5 KiB
TypeScript

export interface RateLimitTier {
name: string;
requestsPerHour: number;
requestsPerMinute: number;
bulkJobsPerDay: number;
maxUrls: number;
exportLimit: number;
}
export declare const RATE_LIMIT_TIERS: Record<string, RateLimitTier>;
export declare const ANONYMOUS_TIER: RateLimitTier;
export interface RateLimitInfo {
limit: number;
remaining: number;
reset: Date;
tier: string;
}
export declare class RateLimitService {
private rateLimiters;
constructor();
private initializeRateLimiters;
getUserTier(userId?: string): Promise<RateLimitTier>;
checkRateLimit(type: 'tracking' | 'bulk' | 'export' | 'legacy', key: string, userId?: string): Promise<RateLimitInfo>;
checkBurstLimit(userId: string): Promise<void>;
getRateLimitStatus(type: 'tracking' | 'bulk' | 'export' | 'legacy', key: string, userId?: string): Promise<RateLimitInfo>;
resetRateLimit(key: string, type?: string): Promise<void>;
getStatistics(): Promise<{
totalRequests: number;
activeKeys: number;
tierDistribution: Record<string, number>;
}>;
}
export declare class RateLimitError extends Error {
tier: string;
remaining: number;
reset: Date;
constructor(tier: string, remaining: number, reset: Date);
}
export declare class BurstLimitError extends Error {
tier: string;
limit: number;
constructor(tier: string, limit: number);
}
export declare const rateLimitService: RateLimitService;
//# sourceMappingURL=rate-limit.service.d.ts.map