export class Http2WebTransportStream {
    /**
     * @param {{streamid: bigint,
     * unidirectional: boolean,
     * incoming: boolean,
     * capsuleParser: ParserBase
     * sendWindowOffset: Number,
     * receiveWindowOffset: Number,
     * shouldAutoTuneReceiveWindow: boolean
     * receiveWindowSizeLimit: Number,
     * sessionFlowController: FlowController,
     * streamIdManager: StreamIdManager}} args
     * */
    constructor({ streamid, unidirectional, incoming, capsuleParser, sendWindowOffset, receiveWindowOffset, shouldAutoTuneReceiveWindow, receiveWindowSizeLimit, sessionFlowController, streamIdManager }: {
        streamid: bigint;
        unidirectional: boolean;
        incoming: boolean;
        capsuleParser: ParserBase;
        sendWindowOffset: number;
        receiveWindowOffset: number;
        shouldAutoTuneReceiveWindow: boolean;
        receiveWindowSizeLimit: number;
        sessionFlowController: FlowController;
        streamIdManager: StreamIdManager;
    });
    /** @type {import('../stream').HttpWTStream} */
    jsobj: import('../stream').HttpWTStream;
    streamid: bigint;
    /** @type {Array<ReadDataInt>} */
    incomdata: Array<ReadDataInt>;
    capsuleParser: ParserBase;
    /** @type {Array<{buf?:Uint8Array,fin:boolean}>} */
    outgochunks: {
        buf?: Uint8Array | undefined;
        fin: boolean;
    }[];
    flowController: FlowController;
    sessionFlowController: FlowController;
    streamIdManager: import("./streamidmanager.js").StreamIdManager;
    final: boolean;
    finalmessagesend: boolean;
    stopReading_: boolean;
    drainReads_: boolean;
    recvBytes: number;
    outgoingClosed_: boolean;
    incomingClosed_: boolean;
    sendInitialParameters(): void;
    /**
     * @param {Object} obj
     * @param {Uint8Array|undefined} obj.data
     * @param {Boolean} obj.fin
     */
    recvData({ data, fin }: {
        data: Uint8Array | undefined;
        fin: boolean;
    }): void;
    processRead(): void;
    startReading(): void;
    drainReads(): void;
    stopReading(): void;
    /**
     * @param {'resetStream'|'stopSending'} type
     */
    onStreamSignal(type: 'resetStream' | 'stopSending'): void;
    closeIncoming(): void;
    closeOutgoing(): void;
    onClose(): void;
    /**
     * @param {Number} code
     */
    stopSending(code: number): void;
    onFin(): void;
    /**
     * @param {Number} code
     */
    resetStream(code: number): void;
    /**
     * @param {Uint8Array} buf
     */
    writeChunk(buf: Uint8Array): void;
    hasPendingData(): boolean;
    drainWrites(): void;
    streamFinal(): void;
    /**
     *
     * @param {{sendOrder: bigint, sendGroupId: bigint}} args
     */
    updateSendOrderAndGroup({ sendOrder, sendGroupId }: {
        sendOrder: bigint;
        sendGroupId: bigint;
    }): void;
    /**
     * @param {bigint} windowOffset
     */
    sendWindowUpdate(windowOffset: bigint): void;
    /**
     * @param {bigint} windowOffset
     */
    sendBlocked(windowOffset: bigint): void;
    /**
     * @param {bigint} pos
     */
    reportBlocked(pos: bigint): void;
    connected(): boolean;
    /**
     * @param {{ code: number, reason: string }} arg
     */
    closeConnection({ code, reason }: {
        code: number;
        reason: string;
    }): void;
    smoothedRtt(): any;
}
/**
 * WebTransport stream events
 */
export type WebTransportStreamEventHandler = import('../types').WebTransportStreamEventHandler;
/**
 * WebTransport stream events
 */
export type StreamRecvSignalEvent = import('../types').StreamRecvSignalEvent;
/**
 * WebTransport stream events
 */
export type StreamReadEvent = import('../types').StreamReadEvent;
/**
 * WebTransport stream events
 */
export type StreamWriteEvent = import('../types').StreamWriteEvent;
/**
 * WebTransport stream events
 */
export type StreamNetworkFinishEvent = import('../types').StreamNetworkFinishEvent;
/**
 * WebTransport stream events
 */
export type ReadDataInt = import('../types').ReadDataInt;
/**
 * WebTransport stream events
 */
export type StreamIdManager = import('./streamidmanager.js').StreamIdManager;
import { ParserBase } from "./parserbase.js";
import { FlowController } from "./flowcontroller.js";
//# sourceMappingURL=stream.d.ts.map