/**
 * @typedef {import('./dom').WebTransport} WebTransportInterface
 *
 * @implements {WebTransportInterface}
 */
export class WebTransportPonyfill extends WebTransportBase implements WebTransportInterface {
    curtype: string | undefined;
}
export class WebTransportPolyfill {
    /**
     * @param {string} url
     * @param {import('./dom.js').WebTransportOptions} [args]
     */
    constructor(url: string, args?: import("./dom").WebTransportOptions | undefined);
    curtype: string;
    closeset: boolean;
    allowFallback: boolean;
    initiatedFallback: boolean;
    args: import("./dom").WebTransportOptions | undefined;
    closed: Promise<any>;
    closeRes: (value: any) => void;
    closeRej: (reason?: any) => void;
    ready: Promise<any>;
    readyRes: (value: any) => void;
    readyRej: (reason?: any) => void;
    draining: Promise<any>;
    drainingRes: (value: any) => void;
    drainingRej: (reason?: any) => void;
    curtransport: WebTransport | WebTransportPonyfill;
    /** @type {import('./dom').WebTransportDatagramDuplexStream} */
    datagrams: import('./dom').WebTransportDatagramDuplexStream;
    datagramsReader: ReadableStreamDefaultReader<Uint8Array>;
    datagramsWriter: any;
    incomingBidirectionalStreams: globalThis.ReadableStream<any>;
    incomingBidirectionalStreamsReader: ReadableStreamDefaultReader<import("./dom").WebTransportBidirectionalStream>;
    incomingUnidirectionalStreams: globalThis.ReadableStream<any>;
    incomingUnidirectionalStreamsReader: ReadableStreamDefaultReader<import("./dom").WebTransportReceiveStream>;
    get congestionControl(): import("./dom").WebTransportCongestionControl;
    get reliability(): import("./dom").WebTransportReliabilityMode;
    get supportsReliableOnly(): boolean;
    get protocol(): string;
    getStats(): Promise<any>;
    /**
     * @param {WebTransportCloseInfo} [closeinfo]
     */
    close(closeinfo?: import("./dom").WebTransportCloseInfo | undefined): void;
    /**
     * @param {WebTransportSendStreamOptions} [opts]
     * @returns {Promise<WebTransportBidirectionalStream>}
     */
    createBidirectionalStream(opts?: import("./dom").WebTransportSendStreamOptions | undefined): Promise<WebTransportBidirectionalStream>;
    /**
     * @param {WebTransportSendStreamOptions} [opts]
     * @returns {Promise<WebTransportSendStream>}
     */
    createUnidirectionalStream(opts?: import("./dom").WebTransportSendStreamOptions | undefined): Promise<WebTransportSendStream>;
}
export type WebTransport = import('./dom').WebTransport;
export type WebTransportCloseInfo = import('./dom').WebTransportCloseInfo;
export type WebTransportBidirectionalStream = import('./dom').WebTransportBidirectionalStream;
export type WebTransportSendStream = import('./dom').WebTransportSendStream;
export type WebTransportSendStreamOptions = import('./dom').WebTransportSendStreamOptions;
export type WebTransportReceiveStream = import('./dom').WebTransportReceiveStream;
export type WebTransportSendGroup = import('./dom').WebTransportSendGroup;
/**
 * <T>
 */
export type ReadableStream<T> = import('node:stream/web').ReadableStream<T>;
export type WebTransportInterface = import('./dom').WebTransport;
import { WebTransportBase } from "./webtransportbase.js";
//# sourceMappingURL=webtransport.browser.d.ts.map