import { MaybePromise, MemoryStorageDriver } from '@mtcute/core'; import { IStateStorageProvider } from '../provider.js'; import { IStateRepository } from '../repository.js'; interface StateDto { value: string; expiresAt?: number; } interface RateLimitDto { reset: number; remaining: number; } declare class MemoryStateRepository implements IStateRepository { readonly _driver: MemoryStorageDriver; readonly state: Map; readonly rl: Map; constructor(_driver: MemoryStorageDriver); setState(key: string, state: string, ttl?: number | undefined): void; getState(key: string, now: number): string | null; deleteState(key: string): void; vacuum(now: number): void; getRateLimit(key: string, now: number, limit: number, window: number): [number, number]; resetRateLimit(key: string): MaybePromise; } export declare class MemoryStateStorage implements IStateStorageProvider { readonly driver: MemoryStorageDriver; readonly state: MemoryStateRepository; constructor(driver?: MemoryStorageDriver); } export {};