import { type ProviderId } from './providers/index.js'; import { type ModelCreator } from './models/index.js'; import { type TierId } from './tiers.js'; import { type CapId } from './capabilities.js'; import type { StrategyShape } from './strategy-providers.js'; export type AccessModelPricing = { readonly inputPerMillion: number; readonly outputPerMillion: number; }; export type AccessModel = { readonly slug: string; readonly displayName: string; readonly creator: ModelCreator; readonly creatorLogoUrl: string; readonly tiers: readonly TierId[]; readonly capabilities: readonly CapId[]; readonly servedBy: readonly ProviderId[]; readonly callableNow: readonly ProviderId[]; readonly pricing: AccessModelPricing; }; export type AccessTier = { readonly id: TierId; readonly reachable: boolean; readonly recommendedModel: string | null; }; export type AccessModelCatalog = { readonly models: readonly AccessModel[]; readonly tiers: readonly AccessTier[]; }; /** * The model catalog as seen through one access token: every model the * app's strategy permits, each tagged with the providers that serve it * (`servedBy`) and the subset the holder can actually run right now * (`callableNow` — empty means "needs a key for one of servedBy"). * * `tiers` is the provider-agnostic view: which capability buckets are * reachable and a representative model for each. */ export declare const resolveAccessModelCatalog: (strategy: StrategyShape, availableProviders: readonly ProviderId[]) => AccessModelCatalog; //# sourceMappingURL=access-models.d.ts.map