import type { Api, Model } from "@caupulican/pi-ai"; import { type ModelCapabilityProfile } from "../model-capability.ts"; import type { ModelRegistry } from "../model-registry.ts"; import type { NormalizedProfile } from "../profile-registry.ts"; import type { SettingsManager } from "../settings-manager.ts"; export interface LaneModelResolverDeps { getCwd(): string; getModel(): Model | undefined; getModelRegistry(): ModelRegistry; getSettingsManager(): SettingsManager; isModelExhausted(model: Model): boolean; } export type LaneShipment = { ok: true; model: Model; laneProfile?: NormalizedProfile; } | { ok: false; skipReason: string; }; export declare function clampLaneMaxUsd(settingsMaxUsd: number, foregroundMaxEstimatedUsd?: number): number; /** Shared provider-neutral model/profile resolution for research and fitness lanes. */ export declare class LaneModelResolver { private readonly deps; constructor(deps: LaneModelResolverDeps); capabilityProfile(model: Model): ModelCapabilityProfile; resolveModel(configuredPattern: string | undefined): Model | undefined; resolveShipment(laneSettings: { model?: string; profile?: string; }, missingModelReason: string): LaneShipment; } //# sourceMappingURL=lane-model-resolver.d.ts.map