Files
libre-study/src/studyDataClient.ts
T
2026-07-15 16:13:51 -05:00

27 lines
1.1 KiB
TypeScript

import type {
AudioBibleContext,
AudioBibleSegment,
CommentaryEntry,
DictionaryEntry,
Footnote,
LibraryState,
MapContext,
TranslationResource,
Verse,
} from './types'
export type TranslationNotesByVerse = Map<string, { footnotes: Footnote[]; studyNotes: Footnote[] }>
export type StudyDataClient = {
getTranslations(): Promise<TranslationResource[]>
getLibraryState(translationId?: string): Promise<LibraryState>
getTranslationNotesForVerses(translationId: string, verses: Verse[]): Promise<TranslationNotesByVerse>
searchVerses(query: string, translationId?: string): Promise<Verse[]>
addTagToVerse(verseId: number, label: string, color: string, translationId?: string): Promise<Verse>
getCommentaryForVerse(verse: Verse): Promise<CommentaryEntry[]>
getDictionaryEntriesForTerms(terms: string[]): Promise<DictionaryEntry[]>
getMapContextForVerses(selectedVerse: Verse, pageVerses: Verse[]): Promise<MapContext>
getAudioContextForVerse(translationId: string, verse: Verse): Promise<AudioBibleContext | null>
getAudioObjectUrl(segment: AudioBibleSegment): Promise<string>
}