/**
 * Returns a function that executes with limited concurrency.
 */
export declare function pLimitFn<ArgsType extends unknown[], ReturnType>(fn: (...args: ArgsType) => ReturnType | Promise<ReturnType>, limit?: number): ((...args: ArgsType) => Promise<ReturnType>) & {
    clear(): void;
};
/**
 * Only allows one outstanding call.
 * Returns same promise while task is executing.
 */
export declare function pOne<ArgsType extends unknown[], ReturnType>(fn: (...args: ArgsType) => ReturnType | Promise<ReturnType>): ((...args: ArgsType) => Promise<ReturnType>);
/**
 * Only allows calling `fn` once.
 * Returns same promise while task is executing.
 */
export declare function pOnce<ArgsType extends unknown[], ReturnType>(fn: (...args: ArgsType) => ReturnType | Promise<ReturnType>): ((...args: ArgsType) => Promise<ReturnType>) & {
    reset(): void;
    isStarted(): boolean;
};
export declare const withThrottling: (fn: (...args: any[]) => Promise<any>, maxInvocationsPerSecond: number) => ((...args: any[]) => Promise<any>);
export declare const tryInSequence: <T>(fns: ((...args: any[]) => Promise<T>)[]) => Promise<T | never>;
