import { ClipProps } from '../clip'; import { VisualMixinProps } from '../visual'; import { StyleOverride, TextStyle } from '../../primitives'; import { CaptionPresetType } from './types'; import { hex, Percent } from '../../types'; import { Renderer, TextAlign, TextBaseline, Stroke, Shadow, Font } from '../../renderer'; import { WordGroup } from '../../sources'; import { CaptionClip } from './caption'; import { Background } from '../text'; export interface CaptionsClipProps extends ClipProps, Omit, Partial { align?: TextAlign; baseline?: TextBaseline; stroke?: Stroke; shadow?: Shadow | Shadow[]; range?: [number, number]; leading?: number; styles?: StyleOverride[]; maxWidth?: number | Percent; preset?: CaptionPreset; } export interface CaptionPreset { type: T; font?: Font; groups: WordGroup[]; applied: boolean; applyStyles(clip: CaptionClip): Promise; render(clip: CaptionClip, renderer: Renderer): void; init(clip: CaptionClip): void; highlightColors?: hex[]; background?: Background; }