import Config from "../Config"; interface QueueItem { dataStore: DataStore; key: string; transform: (value: T, keyInfo: DataStoreKeyInfo) => T; retryAttempts: number; retryDelay: number; resolve: (value: T | Promise) => void, reject: (reason?: unknown) => void, } declare class Throttle { private config: Config; private queue: Array>; private gameClosed: boolean; constructor(config: Config) start(): void; getGetAsyncBudget(): number; getUpdateAsyncBudget(): number; updateAsync(dataStore: DataStore, key: string, transform: (value: unknown, keyInfo: unknown) => T, cancelOnGameClose: boolean, retryAttempts: number, retryDelay: number): Promise; getAsync(dataStore: DataStore, key: string): Promise; removeAsync(dataStore: DataStore, key: string): Promise; } export = Throttle;