import type Subtitle from '../../packages/artplayer/src/subtitle' import type { SubtitleCue, SubtitleHost, SubtitleOption } from '../../packages/artplayer/src/subtitle/types' type Equal = (() => T extends A ? 1 : 2) extends (() => T extends B ? 1 : 2) ? true : false type Expect = T declare const subtitle: Subtitle declare const host: SubtitleHost declare const options: SubtitleOption subtitle.init(options) subtitle.switch('/subtitle.vtt', { onVttLoad: vtt => vtt }) subtitle.style({ color: 'red' }) subtitle.style('fontSize', '22px') subtitle.url = '/subtitle.srt' host.emit('subtitleBeforeUpdate', subtitle.activeCues) type Cues = Expect> type Switch = Expect, Promise>> type Update = Expect, void>> type Style = Expect, HTMLDivElement>> export type Assertions = [Cues, Switch, Update, Style] // @ts-expect-error Subtitle update does not accept registry entries. subtitle.update({ name: 'entry' }) // @ts-expect-error Conversion callbacks produce text synchronously. subtitle.switch('/subtitle.vtt', { onVttLoad: async vtt => vtt })