/** Status used when a code carries no mapping. */ export declare const UNMAPPED_HTTP_STATUS = 500; export interface HttpStatusResolution { /** The status a transport should send. */ status: number; /** * Whether `status` came from the registry. `false` means the code is not * registered and `status` is the {@link UNMAPPED_HTTP_STATUS} fallback — the * one case where a 500 does not mean "the server broke". */ mapped: boolean; } /** Notified once per unmapped code. */ export type UnmappedStatusReporter = (code: string) => void; /** * Replace the unmapped-code reporter (pass `null` to restore the default, or a * no-op to silence it). Transports with a real logger should route it there. */ export declare function setUnmappedStatusReporter(next: UnmappedStatusReporter | null): void; /** Test seam: forget which codes have already been reported. */ export declare function resetUnmappedStatusReports(): void; /** * Resolve the HTTP status for an error code. * * An unregistered code is reported (once per code) rather than silently * degrading to 500: a refusal that is plainly a 403 or 409 turning into a 500 * looks like a crash, and the only way anyone notices is by reading the * transport's source. */ export declare function httpStatusFor(code: string | null | undefined): HttpStatusResolution;