/**
 * In-process worker handler that processes HTTP requests in the main thread
 * instead of spawning a Worker thread. This allows the test runner's database
 * connection context to be shared with HTTP request handlers, so model-created
 * records in tests are visible to HTTP endpoints.
 */
export default class VelociousHttpServerInProcessHandler {
    /**
     * Runs constructor.
     * @param {object} args - Options object.
     * @param {import("../../configuration.js").default} args.configuration - Configuration instance.
     * @param {number} args.workerCount - Worker count.
     */
    constructor({ configuration, workerCount }: {
        configuration: import("../../configuration.js").default;
        workerCount: number;
    });
    configuration: import("../../configuration.js").default;
    /**
     * Narrows the runtime value to the documented type.
      @type {Record<number, {httpClient: Client, serverClient: import("../server-client.js").default}>} */
    clients: Record<number, {
        httpClient: Client;
        serverClient: import("../server-client.js").default;
    }>;
    logger: Logger;
    workerCount: number;
    unregisterFromEventsHost: () => void;
    _stopping: boolean;
    /**
     * Runs start.
      @returns {Promise<void>} */
    start(): Promise<void>;
    /**
     * Runs add socket connection.
     * @param {import("../server-client.js").default} serverClient - Server client instance.
     * @returns {void}
     */
    addSocketConnection(serverClient: import("../server-client.js").default): void;
    /**
     * Runs stop.
      @returns {Promise<void>} */
    stop(): Promise<void>;
    /**
     * In-process handler path for V2 channel broadcasts. No worker
     * boundary to cross — dispatch directly to any matching live
     * subscriptions on the shared configuration.
     * @param {object} args - Options object.
     * @param {string} args.channel - Channel name.
     * @param {Record<string, ?>} args.broadcastParams - Routing filter params.
     * @param {?} args.body - Message body.
     * @param {string} [args.eventId] - Persisted event id for replay.
     * @returns {void}
     */
    dispatchWebsocketV2Broadcast({ body, broadcastParams, channel, eventId }: {
        channel: string;
        broadcastParams: Record<string, unknown>;
        body: unknown;
        eventId?: string | undefined;
    }): void;
    /**
     * Runs dispatch websocket event.
     * @param {object} args - Options object.
     * @param {string} args.channel - Channel name.
     * @param {string} [args.createdAt] - Event creation time.
     * @param {string} [args.eventId] - Event identifier.
     * @param {?} args.payload - Payload data.
     * @returns {void}
     */
    dispatchWebsocketEvent({ channel, createdAt, eventId, payload }: {
        channel: string;
        createdAt?: string | undefined;
        eventId?: string | undefined;
        payload: unknown;
    }): void;
}
import Client from "../client/index.js";
import Logger from "../../logger.js";
//# sourceMappingURL=in-process.d.ts.map