export class StreamIdManager {
    /**
     * @param {{delegate: StreamIdClient
     * unidirectional: boolean,
     * isclient: boolean,
     * maxAllowedOutgoingStreams: number,
     * maxAllowedIncomingStreams: number}} arg
     */
    constructor({ delegate, unidirectional, isclient, maxAllowedOutgoingStreams, maxAllowedIncomingStreams }: {
        delegate: StreamIdClient;
        unidirectional: boolean;
        isclient: boolean;
        maxAllowedOutgoingStreams: number;
        maxAllowedIncomingStreams: number;
    });
    delegate: import("../types").StreamIdClient;
    unidirectional: boolean;
    isclient: boolean;
    outgoingMaxStreams: bigint;
    nextOutgoingStreamId: bigint;
    outgoingStreamCount: bigint;
    incomingActualMaxStreams: bigint;
    incomingAdvertisedMaxStreams: bigint;
    incomingInitialMaxOpenStreams: bigint;
    incomingStreamCount: bigint;
    availableStreams: Set<any>;
    largestPeerCreatedStreamId: bigint;
    stopIncreasingIncomingMaxStreams: boolean;
    /**
     * @param {bigint} streamCount
     */
    onStreamsBlockedFrame(streamCount: bigint): {
        error: string;
        success?: undefined;
    } | {
        success: boolean;
        error?: undefined;
    };
    /**
     * @param {bigint} maxOpenStreams
     */
    maybeAllowNewOutgoingStreams(maxOpenStreams: bigint): boolean;
    /**
     * @param {bigint} maxOpenStreams
     */
    setMaxOpenIncomingStreams(maxOpenStreams: bigint): void;
    maybeSendMaxStreamsFrame(): void;
    sendMaxStreamsFrame(): void;
    sendMaxStreamsFrameInitial(): void;
    /**
     * @param {bigint} streamId
     */
    onStreamClosed(streamId: bigint): void;
    getNextOutgoingStreamId(): bigint;
    canOpenNextOutgoingStream(): boolean;
    isMaxStreamSet(): boolean;
    /**
     * @param {bigint} streamId
     */
    maybeIncreaseLargestPeerStreamId(streamId: bigint): true | {
        error: string;
    };
    /**
     * @param {number} id
     */
    isAvailableStream(id: number): boolean;
    getFirstOutgoingStreamId(): bigint;
    getFirstIncomingStreamId(): bigint;
    get availableIncomingStreams(): bigint;
}
export type StreamIdClient = import('../types').StreamIdClient;
//# sourceMappingURL=streamidmanager.d.ts.map