/**
 * @param{{offset: Number, buffer: Buffer, size: Number}} bs
 * @param{{offset: Number, mask: Uint8Array}} ms
 */
export function readVarIntMasked(bs: {
    offset: number;
    buffer: Buffer;
    size: number;
}, ms: {
    offset: number;
    mask: Uint8Array;
}): number | undefined;
export class WebSocketParser extends ParserBaseHttp2 {
    static WS_CONTINUE: number;
    static WS_TEXT: number;
    static WS_BINARY: number;
    static WS_CLOSE: number;
    static WS_PING: number;
    static WS_PONG: number;
    mode: string;
    /** @type {Buffer|undefined} */
    saveddata: Buffer | undefined;
    /** @type {Number|undefined} */
    rtype: number | undefined;
    bidirectionalLimitsSet: boolean;
    unidirectionalLimitsSet: boolean;
    /**
     * @param {Buffer} data
     */
    parseData(data: Buffer): void;
    maskcontext: {
        mask: Uint8Array;
        offset: number;
    } | undefined;
    lastopcode: number | undefined;
    curtype: number | bigint | undefined;
    /**
     * @type {Uint8Array[]}
     */
    contframes: Uint8Array[] | undefined;
    cstreamid: bigint | undefined;
    remainlength: any;
    rstreamid: bigint | undefined;
    rfin: boolean | undefined;
    /**
     * @param {Uint8Array} [payload]
     */
    sendCloseInt(payload?: Uint8Array | undefined): void;
    closesend: boolean | undefined;
    /**
     * @param {Uint8Array} payload
     */
    sendPong(payload: Uint8Array): void;
    /**
     * @param{{type: Number, headerVints: Array<Number|bigint>, payload: Uint8Array|undefined, end?: () => void}} bs
     */
    writeCapsule({ type, headerVints, payload, end }: {
        type: number;
        headerVints: Array<number | bigint>;
        payload: Uint8Array | undefined;
        end?: () => void;
    }): boolean;
    /**
     * @param {{ offset: number; size?: number; buffer: Buffer; }} bs
     * @param {{ opcode: number; plength: number; mask: number; }} args
     */
    writeHeader(bs: {
        offset: number;
        size?: number;
        buffer: Buffer;
    }, { opcode, plength, mask }: {
        opcode: number;
        plength: number;
        mask: number;
    }): {
        offset: number;
        mask: Buffer;
    } | undefined;
    /**
     * @param {{ opcode: number; payload: Uint8Array|undefined; }} args
     */
    writeWSFrame({ opcode, payload }: {
        opcode: number;
        payload: Uint8Array | undefined;
    }): boolean;
}
export type Http2Stream = import('node:http2').Http2Stream;
import { ParserBaseHttp2 } from "../parserbasehttp2.js";
//# sourceMappingURL=websocketparser.d.ts.map