import { RateLimitConfig } from '../client/rate-limiter'; /** * Aggregated rate limit configuration for all SDK modules. * * Combines rate limits from all generated modules into a single object. * Endpoint keys follow the format: `{moduleName}.{methodName}` * * **Current Modules:** * - general: General API endpoints (ping, news, seller info) * - products: Product management endpoints (categories, CRUD, media, pricing, stock) * - ordersFBS: FBS order retrieval and status management endpoints * - ordersFBW: FBW warehouse supply and acceptance endpoints * * **Future Modules (will be added as generated):** * - finances: Financial reporting endpoints * - analytics: Sales analytics endpoints * - reports: Async report generation endpoints * - communications: Chat, Q&A, reviews endpoints * - promotion: Marketing campaigns endpoints * - tariffs: Commission and fee endpoints * - inStorePickup: Pickup point management endpoints * * @example * ```typescript * import { ALL_RATE_LIMITS } from './config/rate-limits'; * import { RateLimiter } from './client/rate-limiter'; * * const limiter = new RateLimiter(ALL_RATE_LIMITS); * await limiter.waitForSlot('general.ping'); * ``` * * @example * ```typescript * // Access individual module limits * import { generalRateLimits } from './config/general-rate-limits'; * console.log(generalRateLimits['general.ping']); * ``` */ export declare const ALL_RATE_LIMITS: { [x: string]: RateLimitConfig; }; /** * Type representing all possible endpoint keys. * * Automatically inferred from ALL_RATE_LIMITS object. * Provides type safety when referencing endpoint keys in code. * * @example * ```typescript * const endpointKey: EndpointKey = 'general.ping'; // Type-safe ✓ * const invalid: EndpointKey = 'invalid.key'; // TypeScript error ✗ * ``` */ export type EndpointKey = keyof typeof ALL_RATE_LIMITS; /** * Applies Basic/Test token rate limit multipliers to all endpoint configs. * * For each endpoint, determines its category from the rateLimitKey prefix * (e.g., 'orders-fbs.xxx' → 'orders-fbs') and reduces requestsPerMinute * accordingly. Burst limit is set to 1 for all endpoints. * * @param limits - Original rate limit configs (for Personal/Service tokens) * @returns New config object with reduced limits for Basic/Test tokens * @since 3.5.0 */ export declare function applyBasicTokenMultipliers(limits: Record): Record; //# sourceMappingURL=rate-limits.d.ts.map