import type { IComplexDelay, ILimit, ILimiter, ILimitStack } from './interface';
export declare class Limiter implements ILimiter {
    limits: ILimitStack;
    constructor(items: Array<Limiter | IComplexDelay>);
    decrease(): void;
    reset(): void;
    resetTtl(): void;
    isAllowed(): boolean;
    getNextDelay(): number;
    getNextQueueSize(): number;
    static refreshLimit(limit: ILimit): ILimit;
    static refreshTtl(limit: ILimit): void;
}
