import type { IncomingMessage, ServerResponse } from "node:http"; import { type LocusBootstrapCodecOptions, type LocusBootstrapAuthority } from "../locus.bootstrap.js"; import type { LocusDisposer, LocusSelector } from "../../../types/locus.types.js"; export type NodeLocusBootstrapResolution = Readonly<{ ok: true; authority: LocusBootstrapAuthority; websocketEndpoint: string; /** Optional application-owned acquisition held through exact capture and encoding. */ release?: LocusDisposer; }> | Readonly<{ ok: false; status: 404 | 503; code: "LOCUS_BOOTSTRAP_AUTHORITY_UNKNOWN" | "LOCUS_BOOTSTRAP_AUTHORITY_UNAVAILABLE"; message: string; }>; export type NodeLocusBootstrapOperationalEvent = Readonly<{ type: "bootstrap-request-accepted" | "bootstrap-authority-resolved" | "bootstrap-captured" | "bootstrap-sent" | "bootstrap-rejected" | "bootstrap-encode-failure"; code?: string; status?: number; encodedBytes?: number; }>; export type NodeLocusBootstrapHandlerOptions = LocusBootstrapCodecOptions & Readonly<{ selectorParameter?: string; resolve(locusSelector: LocusSelector, request: IncomingMessage): NodeLocusBootstrapResolution | Promise; log?(event: NodeLocusBootstrapOperationalEvent): void; }>; /** @experimental GET-only Node response helper for one application-resolved authority. */ export declare function handle_node_locus_bootstrap_request(request: IncomingMessage, response: ServerResponse, options: NodeLocusBootstrapHandlerOptions): Promise; //# sourceMappingURL=locus.node-bootstrap-http.d.ts.map