import type { IRCommand, IRPolicy, IRRetry, IRRateLimit } from './ir.js'; import type { CommandResult } from './runtime-engine.js'; import { RateLimiter, type RateLimitConfig } from './runtime-rate-limit.js'; import { type RetryConfig } from './runtime-retry.js'; export declare function toRateLimitConfig(rl: IRRateLimit): RateLimitConfig; export declare function buildRateLimitScopeKey(scope: IRRateLimit['scope'], context: Record, tenantValue: string | undefined, keyPrefix?: string): string | null; export declare function checkRateLimitGate(limiter: RateLimiter, config: IRRateLimit, context: Record, tenantValue: string | undefined, now: number, keyPrefix?: string): Promise<{ allowed: true; } | { allowed: false; denial: NonNullable; }>; export declare function toRetryConfig(retry: IRRetry): RetryConfig; export declare function extractRetryErrorCode(result: CommandResult): string | undefined; export declare function executeWithRetry(retry: IRRetry, execute: () => Promise, options?: { sleep?: (ms: number) => Promise; retryJitter?: (delayMs: number) => number; }): Promise; export declare function commandHasRateLimit(command: IRCommand): boolean; export declare function policyHasRateLimit(policy: IRPolicy): boolean; //# sourceMappingURL=runtime-command-extensions.d.ts.map