/** * Provider/model capability registry. * * Deterministic capability resolution driven by explicit capability flags — * never by model names or by the assumption that a newer or more expensive * model is better. Unknown capability state is explicit ("unknown"), not * silently assumed. Pricing carries an `effectiveAt` and is never used to * rewrite historical budget records. */ import type { ModelCapabilities } from "./types.js"; export interface CapabilityRegistry { profiles: readonly ModelCapabilities[]; } export interface FindCapabilitiesInput { provider: string; model: string; overrides?: Partial; } export declare function createCapabilityRegistry(profiles: ModelCapabilities[]): CapabilityRegistry; /** * Resolve capabilities for a provider/model, applying configuration overrides. * Returns `{ found, capabilities, unknown }` — an explicit unknown profile is * represented, never fabricated. */ export declare function resolveCapabilities(registry: CapabilityRegistry, input: FindCapabilitiesInput): { found: false; capabilities: null; unknown: true; } | { found: true; capabilities: ModelCapabilities; unknown: false; }; /** * Check that a capability profile satisfies an array of required capability * names. A flag of `"unknown"` does NOT satisfy a requirement. */ export declare function hasAllCapabilities(profile: ModelCapabilities | null, required: string[]): boolean; export interface RoleCompatibility { compatible: boolean; missingRequired: string[]; unknownRequired: string[]; reasons: string[]; } /** * Determine whether a profile is compatible with a role's required capabilities. */ export declare function roleCompatibility(profile: ModelCapabilities | null, required: string[]): RoleCompatibility; /** Cost-tier heuristic from a profile's pricing (cheap/standard/premium). */ export declare function costTierOf(profile: ModelCapabilities | null): "cheap" | "standard" | "premium" | "unknown"; /** Whether `tier` fits within a `maximumCostTier` policy bound. */ export declare function tierWithin(tier: "cheap" | "standard" | "premium" | "unknown", maximumCostTier: string | undefined): boolean; //# sourceMappingURL=capability-registry.d.ts.map