export default class VeoliciousHttpServerClient {
    /**
     * Runs constructor.
     * @param {object} args - Options object.
     * @param {number} args.clientCount - Client count.
     * @param {import("../../configuration.js").default} args.configuration - Configuration instance.
     * @param {string} [args.remoteAddress] - Remote address.
     */
    constructor({ clientCount, configuration, remoteAddress }: {
        clientCount: number;
        configuration: import("../../configuration.js").default;
        remoteAddress?: string | undefined;
    });
    events: import("eventemitter3").EventEmitter<string | symbol, any>;
    state: string;
    logger: Logger;
    clientCount: number;
    configuration: import("../../configuration.js").default;
    remoteAddress: string | undefined;
    /**
     * Narrows the runtime value to the documented type.
      @type {RequestRunner[]} */
    requestRunners: RequestRunner[];
    /**
     * Runs send bad upgrade response.
     * @param {string} message - Message text.
     * @returns {void} - No return value.
     */
    _sendBadUpgradeResponse(message: string): void;
    /**
     * Runs send bad request response.
     * @param {string} message - Response message.
     * @returns {void} - No return value.
     */
    _sendBadRequestResponse(message: string): void;
    /**
     * Runs handle bad request.
     * @param {Error} error - Error instance.
     * @returns {void} - No return value.
     */
    handleBadRequest(error: Error): void;
    currentRequest: Request | undefined;
    executeCurrentRequest: () => void;
    /**
     * Runs on write.
     * @param {Buffer} data - Data payload.
     * @returns {void} - No return value.
     */
    onWrite(data: Buffer): void;
    /**
     * Runs is websocket upgrade.
     * @param {import("./request.js").default} request - Request object.
     * @returns {boolean} - Whether websocket upgrade.
     */
    _isWebsocketUpgrade(request: import("./request.js").default): boolean;
    /**
     * Runs upgrade to websocket.
     * @returns {void} - No return value.
     */
    _upgradeToWebsocket(): void;
    websocketSession: WebsocketSession | undefined;
    requestDone: () => void;
    sendDoneRequests(): Promise<void>;
    /**
     * Runs send response.
     * @param {RequestRunner} requestRunner - Request runner.
     * @returns {Promise<void>} - Resolves when complete.
     */
    sendResponse(requestRunner: RequestRunner): Promise<void>;
    /**
     * Runs send file output.
     * @param {string} filePath - File path.
     * @returns {Promise<void>} - Resolves when complete.
     */
    sendFileOutput(filePath: string): Promise<void>;
    /**
     * Runs should close connection.
     * @param {import("./request.js").default | import("./websocket-request.js").default} request - Request object.
     * @returns {boolean} - Whether the connection should be closed.
     */
    shouldCloseConnection(request: import("./request.js").default | import("./websocket-request.js").default): boolean;
}
import Logger from "../../logger.js";
import RequestRunner from "./request-runner.js";
import Request from "./request.js";
import WebsocketSession from "./websocket-session.js";
//# sourceMappingURL=index.d.ts.map