import type { ProxyProviderTransportPermit } from "../types/index.js";
export declare class ProviderTransportCoordinator {
    private generation;
    private degraded;
    private backoffUntil;
    private lastErrorCode;
    private lastTransportScope;
    /** Whether the failure that degraded the transport happened before any
     *  request byte was sent. Waiters use it to pick their retry budget. */
    private lastFailureConnectPhase;
    private probe;
    acquire(signal?: AbortSignal): Promise<ProxyProviderTransportPermit>;
    reportSuccess(permit: ProxyProviderTransportPermit): void;
    reportTransportFailure(errorCode: string | undefined, transportScope: "shared_provider_transport" | "connection_transport", permit: ProxyProviderTransportPermit, connectPhase?: boolean): void;
    reportProbeAbandoned(permit: ProxyProviderTransportPermit): void;
    clear(): void;
    private wait;
    private waitForProbe;
    private waitForProbeOrAbort;
}
