import { Token } from "./Struct"; import { Edition } from "./Struct"; import { Struct } from "./Struct"; import { SentenceStatus } from "./SentenceStatus"; import { UploadedFile } from "../../common/AppDropzone/UploadedFile"; export type Mark = { id: string; tokens: Token[]; editions?: Edition[]; before?: boolean; }; export type Break = { id: string; s: number; splits: string[]; uid?: string; }; export type Format = { id: string; italic?: boolean; bold?: boolean; strikeThrough?: boolean; underline?: boolean; fontSize?: string; fontFamily?: string; spacing?: string; firstLetterSize?: string; }; export type SentenceTier = { symbol: string; value: string; }; export type Translation = { uid: string; values: Record; }; /** Nested speaker assignment on a sentence (code + cue metadata). */ export type SentenceParticipant = { name: string; cue?: string[]; lineCue?: boolean; hideName?: boolean; }; type Sentence = { uid: string; value: string; breaks?: Break[]; marks?: Mark[]; editions?: Edition[]; document: string; page: string; translation?: Translation; translations?: Record; ns: boolean; status: SentenceStatus; sound?: string; start: number | null; end: number | null; normalized?: string; participant?: SentenceParticipant; color?: string; tiers: SentenceTier[]; canJoinSentence?: boolean; audio?: UploadedFile; review?: boolean; tap?: boolean; struct: Struct; pageOrder?: number; }; export default Sentence;