/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { BatchResubmitInfo } from "./opLifecycle/index.js";
/**
 * Utility for tracking the number of concurrent runs of a particular operation.
 */
export declare class RunCounter {
    #private;
    get running(): boolean;
    get runs(): number;
    run<T>(act: () => T): T;
}
/**
 * A specific use case of RunCounter - for when we are accumulating a batch in ContainerRuntime
 */
export declare class BatchRunCounter extends RunCounter {
    #private;
    /**
     * Gets the resubmit info if currently resubmitting a batch, or undefined if not under resubmit.
     */
    get resubmitInfo(): BatchResubmitInfo | undefined;
    run<T>(act: () => T, resubmitInfo?: BatchResubmitInfo): T;
}
//# sourceMappingURL=runCounter.d.ts.map