declare class Inflight<T = any> {
    private _count;
    private _inflights;
    Promise: PromiseConstructor;
    constructor(xPromise?: PromiseConstructor);
    promise(key: string, func: () => Promise<T>): Promise<T>;
    add(key: string, value: Promise<T>, now?: number): Promise<T>;
    get(key: string): T | undefined;
    remove(key: string): void;
    get isEmpty(): boolean;
    get count(): number;
    getStartTime(key: string): number | undefined;
    time(key: string, now?: number): number;
    elapseTime(key: string, now?: number): number;
    getCheckTime(key: string): number | undefined;
    lastCheckTime(key: string, now?: number): number;
    elapseCheckTime(key: string, now?: number): number;
    resetCheckTime(key?: string, now?: number): this;
}
export default Inflight;
