/// <reference types="node" />
/// <reference types="node" />
export class Http2WebTransportServer {
    /**
     * @param {import('../../types.js').NativeServerOptions} args
     */
    constructor(args: import('../../types.js').NativeServerOptions);
    port: number;
    secret: string;
    host: string;
    initialStreamFlowControlWindow: number;
    initialSessionFlowControlWindow: number;
    initialBidirectionalStreams: number;
    initialUnidirectionalStreams: number;
    streamShouldAutoTuneReceiveWindow: true;
    streamFlowControlWindowSizeLimit: number;
    sessionShouldAutoTuneReceiveWindow: true;
    sessionFlowControlWindowSizeLimit: number;
    /** @type {Record<string, boolean>} */
    paths: Record<string, boolean>;
    hasrequesthandler: boolean;
    /** @type {import('../../session.js').HttpServer} */
    jsobj: import('../../session.js').HttpServer;
    canHandleSettings: boolean;
    serverInt: import("http2").Http2SecureServer<typeof import("http").IncomingMessage, typeof import("http").ServerResponse, typeof import("http2").Http2ServerRequest, typeof import("http2").Http2ServerResponse>;
    capsParser: WebSocketParser;
    /**
     * @param {import("http2").IncomingHttpHeaders} header
     * @return {{websocketProt: string|undefined, webtransportProt?: string}}
     */
    checkProtocolHeader(header: import("http2").IncomingHttpHeaders): {
        websocketProt: string | undefined;
        webtransportProt?: string;
    };
    startServer(): void;
    stopServer(): void;
    /**
     * @param {string|string[]} cert
     * @param {string|string[]} privKey
     * @param {boolean} http2only
     * */
    updateCert(cert: string | string[], privKey: string | string[], http2only: boolean): void;
    /**
     * @param {boolean} isset
     */
    setJSRequestHandler(isset: boolean): void;
    /**
     * @param {string} path
     */
    addPath(path: string): void;
    /**
     * @param {{stream: import('net').Socket, header: any, protocol: string}} args
     */
    sendHttp1Headers({ stream, header, protocol }: {
        stream: import('net').Socket;
        header: any;
        protocol: string;
    }): Promise<void>;
    /**
     * @param {import('../../types.js').NativeFinishSessionRequest} args
     */
    finishSessionRequest({ header, peerAddress, userData, session: stream, status, protocol, head, path, transportPrivate, selectedProtocol }: import('../../types.js').NativeFinishSessionRequest): void;
}
import { WebSocketParser } from "./websocketparser.js";
//# sourceMappingURL=server.d.ts.map