from dataclasses import dataclass from const import VoiceChangerType from typing import Literal, TypeAlias LoadModelParamFileKind: TypeAlias = Literal[ "mmvcv13Config", "mmvcv13Model", "mmvcv15Config", "mmvcv15Model", "mmvcv15Correspondence", "soVitsSvc40Config", "soVitsSvc40Model", "soVitsSvc40Cluster", "rvcModel", "rvcIndex", "ddspSvcModel", "ddspSvcModelConfig", "ddspSvcDiffusion", "ddspSvcDiffusionConfig", "diffusionSVCModel", ] @dataclass class LoadModelParamFile: name: str kind: LoadModelParamFileKind dir: str @dataclass class LoadModelParams: voiceChangerType: VoiceChangerType slot: int isSampleMode: bool sampleId: str files: list[LoadModelParamFile] params: dict