export type GatewayCommandSendOutcome = "cancelled" | "queue-full" | "queue-timeout" | "sent" | "unavailable"; export type GatewayControlSendOutcome = "exhausted" | "sent" | "unavailable"; export interface GatewayOutboundBudgetScheduler { clearTimeout(handle: unknown): void; setTimeout(handler: () => void, milliseconds: number): unknown; } export interface GatewayOutboundBudgetOptions { clock?: () => number; scheduler: GatewayOutboundBudgetScheduler; write: (serialized: string) => boolean; } export interface GatewayOutboundBudgetSnapshot { eventsInWindow: number; queuedCommands: number; timerActive: boolean; } export declare class GatewayOutboundBudget { #private; constructor(options: GatewayOutboundBudgetOptions); get snapshot(): GatewayOutboundBudgetSnapshot; reset(): void; sendControl(serialized: string): GatewayControlSendOutcome; sendCommand(serialized: string, signal?: AbortSignal): Promise; } //# sourceMappingURL=gateway-outbound-budget.d.ts.map