crosssubtitle-ai/src/lib/types.ts
2026-03-18 15:36:08 +08:00

57 lines
1014 B
TypeScript

export type TaskStatus =
| 'queued'
| 'extracting'
| 'vad_processing'
| 'transcribing'
| 'translating'
| 'completed'
| 'failed'
export type TargetLanguage = 'zh' | 'en'
export interface SubtitleSegment {
id: string
taskId: string
start: number
end: number
sourceText: string
translatedText?: string | null
}
export interface SubtitleTask {
id: string
filePath: string
fileName: string
sourceLang?: string | null
targetLang: TargetLanguage
status: TaskStatus
progress: number
segments: SubtitleSegment[]
error?: string | null
}
export interface StartTaskPayload {
filePath: string
sourceLang?: string | null
targetLang: TargetLanguage
whisperModelPath?: string | null
vadModelPath?: string | null
}
export interface ProgressEvent {
taskId: string
status: TaskStatus
progress: number
message: string
}
export interface SegmentEvent {
taskId: string
segment: SubtitleSegment
}
export interface ErrorEvent {
taskId: string
message: string
}