/** * @vorionsys/shared-constants - Rate Limits * * Rate limits by trust tier - used across all APIs * Higher trust = higher limits * * @see https://cognigate.dev/docs/rate-limits */ import { TrustTier } from './tiers.js'; export interface RateLimitConfig { /** Requests per second */ requestsPerSecond: number; /** Requests per minute */ requestsPerMinute: number; /** Requests per hour */ requestsPerHour: number; /** Requests per day */ requestsPerDay: number; /** Burst limit (max concurrent) */ burstLimit: number; /** Max payload size in bytes */ maxPayloadBytes: number; /** Max response size in bytes */ maxResponseBytes: number; /** Connection timeout in ms */ connectionTimeoutMs: number; /** Request timeout in ms */ requestTimeoutMs: number; } export declare const RATE_LIMITS: Record; /** * Get rate limits for a trust tier */ export declare function getRateLimits(tier: TrustTier): RateLimitConfig; /** * Get the minimum tier required for specific rate limits */ export declare function getMinTierForLimits(config: { requestsPerSecond?: number; requestsPerMinute?: number; requestsPerHour?: number; requestsPerDay?: number; }): TrustTier; /** * Check if a rate limit would be exceeded */ export declare function wouldExceedLimit(tier: TrustTier, window: 'second' | 'minute' | 'hour' | 'day', currentCount: number): boolean; /** * Format rate limit for display */ export declare function formatRateLimit(tier: TrustTier): string; export interface QuotaConfig { /** Monthly API calls included */ monthlyApiCalls: number; /** Monthly compute units included */ monthlyComputeUnits: number; /** Monthly storage (bytes) */ monthlyStorageBytes: number; /** Monthly bandwidth (bytes) */ monthlyBandwidthBytes: number; /** Max agents allowed */ maxAgents: number; /** Max webhooks */ maxWebhooks: number; /** Max team members */ maxTeamMembers: number; } export declare const TIER_QUOTAS: Record; /** * Get quota for a tier */ export declare function getQuota(tier: TrustTier): QuotaConfig; /** * Check if quota is unlimited (-1) */ export declare function isUnlimited(value: number): boolean; //# sourceMappingURL=rate-limits.d.ts.map