import type { Model } from '../models/types.js';

export type UIConfigField = {
  name: string;
  key: string;
  type: 'string' | 'password' | 'select' | 'textarea' | 'switch';
  required: boolean;
  description: string;
  scope: 'client' | 'server';
  env?: string;
  placeholder?: string;
  default?: string | boolean;
  options?: { name: string; value: string }[];
};

export type ConfigModelProvider = {
  id: string;
  name: string;
  type: string;
  chatModels: Model[];
  embeddingModels: Model[];
  config: Record<string, unknown>;
  hash: string;
};

export type LlmProvidersConfig = {
  modelProviders: ConfigModelProvider[];
};
