import { RateLimiter, RateLimitRecord } from "@canmertinyo/rate-limiter-core";
import mongoose from "mongoose";
export declare class MongoStorage implements RateLimiter {
    private readonly uri;
    private readonly options?;
    private model;
    constructor(uri?: string, options?: mongoose.ConnectOptions | undefined);
    initialize(): Promise<RateLimiter>;
    getRateLimitRecord(key: string): Promise<RateLimitRecord | undefined>;
    createRateLimitRecord(record: RateLimitRecord): Promise<RateLimitRecord>;
    updateRateLimitRecord(key: string, timestamp: number, count: number): Promise<RateLimitRecord>;
    increment(key: string): Promise<RateLimitRecord>;
}
