import type { Task } from "./types";
export declare class ConcurrencyLimiter {
    private concurrency;
    private running;
    private queue;
    constructor(concurrency: number);
    run<T>(task: Task<T>): Promise<T>;
    private process;
    get queueSize(): number;
    get activeCount(): number;
    clear(): void;
}
export declare const createLimit: (concurrency: number) => <T>(task: Task<T>) => Promise<T>;
