import { AxiosResponse } from "axios";
export declare class Ratelimit {
    readonly limit: number;
    readonly remaining: number;
    readonly reset: number;
    constructor({ limit, remaining, reset, }: {
        readonly limit: number;
        readonly remaining: number;
        readonly reset: number;
    });
    get resetAsDate(): Date;
    cooldown(timeoutMilliseconds?: number): Promise<void>;
}
/**
 * @internal
 */
declare module "axios" {
    interface AxiosResponse<T = any> {
        ratelimit?: Ratelimit;
    }
}
/**
 * @internal
 */
export declare function setRatelimit(response: AxiosResponse): AxiosResponse;
export declare function setRatelimit<T>(error: T): Promise<T>;
//# sourceMappingURL=ratelimit.d.ts.map