export type ViewLevel = | "text" | "paragraph" | "sentence" | "clause" | "word" | "syllable" | "phoneme"; export interface ViewState { level: ViewLevel; pIndex: number | null; sIndex: number | null; cIndex: number | null; wIndex: number | null; yIndex: number | null; fIndex: number | null; } export interface ViewProps { idx: number; rawText: string; context: Context; } export type Context = { parentText: string; segmented: string[]; idx: number; }; export type WordData = { confidence: number; frequency: number | null; id: number; ipa: Array<{ ipa: string; tags: string[] }>; spelling: string; type: ExpressionType; syllables: number; lang: string; prosody: any; senses: Sense[]; }; export type ExpressionType = "word" | "expression" | "syllable"; export type Sense = { etymology: string; pos: string; forms: Array<{ form: string; tags: string[] }>; related: any; senses: Array<{ glosses: string[]; links: Array<[string, string]> }>; }; export type LoadingStatus = "pending" | "loading" | "success" | "error";