/** * Health enrichment for model picker entries. * * Joins ModelDefinition records from the provider registry with health * telemetry from ProviderHealthDomainState to produce enriched * ModelPickerEntry objects ready for UI consumption. */ import type { ModelDefinition } from '../../../providers/registry.js'; import type { ProviderRegistry } from '../../../providers/registry.js'; import type { BenchmarkStore } from '../../../providers/model-benchmarks.js'; import type { ProviderHealthDomainState } from '../../store/domains/provider-health.js'; import type { ModelDomainState } from '../../store/domains/model.js'; import type { ModelPickerEntry, ModelPickerGroup } from './types.js'; /** * Enrich a flat list of ModelDefinitions with health and state data. * * @param models - All selectable models from the registry. * @param healthState - Current provider health domain state. * @param modelState - Current model domain state. * @param pinnedIds - Set of pinned/favorited model registry keys. * @returns Sorted, enriched ModelPickerEntry array. */ export declare function enrichModelEntries(models: readonly ModelDefinition[], healthState: ProviderHealthDomainState, modelState: ModelDomainState, pinnedIds: ReadonlySet, benchmarkStore: Pick, providerRegistry: Pick): ModelPickerEntry[]; /** * Group a sorted list of ModelPickerEntry records by their provider ID. * Preserves the sort order of entries within each group. * * @param entries - Pre-sorted enriched entries. * @returns Groups ordered by first appearance of each provider in entries. */ export declare function groupEntriesByProvider(entries: readonly ModelPickerEntry[]): ModelPickerGroup[]; //# sourceMappingURL=health-enrichment.d.ts.map