import { MaybePromise } from '@mtcute/core'; import { IStateStorageProvider } from './provider.js'; export declare class StateService { readonly provider: IStateStorageProvider; constructor(provider: IStateStorageProvider); private _cache; private _vacuumTimer?; private _loaded; private _load; load(): Promise; destroy(): Promise; getState(key: string): Promise; setState(key: string, state: T, ttl?: number): Promise; deleteState(key: string): Promise; getCurrentScene(key: string): Promise; setCurrentScene(key: string, scene: string, ttl?: number): Promise; deleteCurrentScene(key: string): Promise; getRateLimit(key: string, limit: number, window: number): MaybePromise<[number, number]>; resetRateLimit(key: string): MaybePromise; }