import { CommandProperties } from './commandProperties';
export declare class Semaphore {
    private maxExecution;
    private maxFallback;
    private currentExecution;
    private currentFallback;
    constructor(maxExecution: number, maxFallback: number);
    canExecuteCommand(): boolean;
    releaseExecutionCommand(): void;
    canExecuteFallback(): boolean;
    releaseFallback(): void;
}
export declare class SemaphoreFactory {
    private static semaphores;
    static getOrCreate(info: CommandProperties): Semaphore;
    static resetCache(): void;
}
