import { type CodexModelCandidate, type CodexStartupSelection, type ModelCapabilityMetadata, type ModelSelectionSignals } from "@velum-labs/routekit-contracts"; import { Effect } from "effect"; import { HttpClient } from "effect/unstable/http"; export type OpenRouterModelMetadata = ModelCapabilityMetadata & Pick; export type OpenRouterModelMetadataClientOptions = { now?: () => number; freshMs?: number; staleMs?: number; timeoutMs?: number; baseUrl?: string; }; export declare class OpenRouterModelMetadataClient { #private; constructor(options?: OpenRouterModelMetadataClientOptions); models(signal?: AbortSignal): Effect.Effect, Error, HttpClient.HttpClient>; } export type ResolvedCodexStartupSelection = CodexStartupSelection & { models: readonly CodexModelCandidate[]; }; export declare function resolveCodexStartupModel(input: { models: readonly CodexModelCandidate[]; preferredModel?: string; requestedModel?: string; signal?: AbortSignal; }, dependencies?: { openRouter?: OpenRouterModelMetadataClient; }): Effect.Effect;