/**
 * 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<string>, benchmarkStore: Pick<BenchmarkStore, 'getBenchmarks'>, providerRegistry: Pick<ProviderRegistry, 'getSyntheticModelInfoFromCatalog' | 'getContextWindowForModel'>): 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