- 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
44 lines
1.5 KiB
TypeScript
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
|