// 查询用户模型列表返回的数据结构
export interface GetSessionListVO {
  id?: number | string;
  category?: string;
  modelName?: string;
  modelDescribe?: string;
  modelPrice?: number;
  modelType?: string;
  modelShow?: string;
  systemPrompt?: string;
  apiHost?: string;
  apiKey?: string;
  remark?: string;
  modelId?: string;
  isFree?: boolean; // 是否为免费模型
  isPremiumPackage?: boolean; // 是否为尊享套餐模型
  modelApiType?: string; // API 格式类型: Completions | Messages | Responses | GenerateContent
  providerName?: string;
  iconUrl?: string;
}

// 模型类型枚举
export enum ModelTypeEnum {
  Chat = 0,
  Image = 1,
  Embedding = 2,
  PremiumChat = 3,
}

// 模型API类型枚举
export enum ModelApiTypeEnum {
  OpenAi = 0,
  Claude = 1,
}

// 模型库展示数据
export interface ModelLibraryDto {
  modelId: string;
  name: string;
  description?: string;
  modelType: ModelTypeEnum;
  modelApiTypes: Array;
  modelApiTypeName: string;
  multiplierShow: number;
  providerName?: string;
  iconUrl?: string;
  isPremium: boolean;
}

// 获取模型库列表查询参数
export interface ModelLibraryGetListInput {
  searchKey?: string;
  providerNames?: string[];
  modelTypes?: ModelTypeEnum[];
  modelApiTypes?: ModelApiTypeEnum[];
  isPremiumOnly?: boolean;
  skipCount?: number;
  maxResultCount?: number;
}

// 分页结果
export interface PagedResultDto<T> {
  items: T[];
  totalCount: number;
}

// 模型类型选项
export interface ModelTypeOption {
  label: string;
  value: number;
}

// API类型选项
export interface ModelApiTypeOption {
  label: string;
  value: number;
}
