import type { IncomingMessage, ServerResponse } from 'node:http'; export interface ReadinessState { readonly ready: boolean; } export type Readiness = ReadinessState | (() => boolean | Promise); export interface RouterDependencies { readonly expectedToken: string; readonly readiness: Readiness; readonly v1?: V1RouteHandler; } export type HttpHandler = (request: IncomingMessage, response: ServerResponse) => void | Promise; export type JsonObject = Record; export interface V1RouteRequest { readonly method: string; readonly url: URL; readonly headers: IncomingMessage['headers']; readonly rawHeaders?: readonly string[]; readonly body?: JsonObject; } export interface V1RouteOperationRequest { readonly method: string; readonly url: URL; } export type V1RouteOperationResolver = (request: V1RouteOperationRequest) => string | undefined; export type V1RouteHandler = ((request: V1RouteRequest) => unknown | Promise) & { operationFor?: V1RouteOperationResolver; }; export declare function createRouter(dependencies: RouterDependencies): HttpHandler; //# sourceMappingURL=router.d.ts.map