export { ModelPickerDataProvider } from './data-provider.js';
import { ModelPickerDataProvider } from './data-provider.js';
/**
 * Produce a one-shot ModelPickerData snapshot without creating a long-lived provider.
 *
 * Use this when you need a single render pass and do not require change subscriptions.
 * For reactive/subscription-based UIs, prefer ModelPickerDataProvider.
 *
 * @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 Immutable ModelPickerData snapshot.
 */
export function createModelPickerData(models, healthState, modelState, benchmarkStore, providerRegistry, pinnedIds = new Set()) {
    // Delegate to the data provider for consistent derivation logic,
    // then dispose immediately since no subscriptions are needed.
    const dp = new ModelPickerDataProvider(models, healthState, modelState, {
        pinnedIds,
        benchmarkStore,
        providerRegistry,
    });
    const snapshot = dp.getSnapshot();
    dp.dispose();
    return snapshot;
}
