import type { ContinuityEndpoint, MessageOrigin } from "@yanlinglabs/winter-provider-runtime"; /** * The router's DEFAULT `resolveEndpoint`, used at both call sites (`store/handoff-barrier.ts`'s * `computeSwitchReview`, `door.ts`'s Claude-ready wrap) whenever a host injects none. * * Built and memoised once per process. If the compiled catalog cannot be loaded at all (a packaging * defect, never expected in a normal install), this reports it ONCE — by name, never a payload — and * falls back to `endpointFromOrigin` rather than throwing: a broken endpoint resolver must never block * a model switch, only under-inform its loss review. */ export declare function defaultEndpointResolver(): (origin: MessageOrigin) => ContinuityEndpoint; /** * fix wave 2 re-review, MAJOR (new): does this identifier name a REAL catalog row, independent of * whichever `resolveEndpoint` a host may have injected for FACTS. `message.model` is always an * upstream wire id, and only the catalog's own alias table can say whether one is recognised — a * generic `ContinuityEndpoint`'s shape cannot: `endpointFromRegistry`'s own registry-miss fallback * echoes the bare origin back verbatim (no `continuationDomain`/`continuation`/`summaryRequest`), and * some real rows carry none of those either, so probing the OUTPUT shape is not reliable — this asks * `ProviderRegistry.resolve()` directly, the one place that distinguishes a hit from a miss. * * A catalog that fails to load answers `false` — conservatively, since the caller's fallback for * "unknown" is the session's own persisted selection, never a guess. */ export declare function catalogKnowsModel(origin: { providerId: string; modelKey: string; }): boolean; /** Test seam: forces the next call to rebuild (and, on failure, re-log once more). */ export declare function __resetDefaultEndpointResolverForTests(): void;