import type { BibleModifier, Language, SetCategory } from '../data/languages/languages.zod'; import { BibleInfo, LanguageInfo } from '../types/languages'; export declare function getBibleInfo(bibleId: string): BibleInfo | undefined; export declare function replaceBibleWith({ modifiers, lessonCategory, passageId, }: { modifiers: BibleModifier[]; lessonCategory: SetCategory | undefined; passageId: string; }): string | undefined; /** * Determines whether a lesson/passage meet the requirements for concatenating. */ export declare function shouldConcatBibleWith({ modifier, lessonCategory, passageId, }: { modifier: BibleModifier; lessonCategory: SetCategory; passageId: string; }): boolean; /** Returns a deduplicated list of all bible IDs referenced by a language. */ export declare function getAllBibleIds(language: LanguageInfo | Language): string[]; /** * Chapters that can be missing without affecting book/testament completeness. * MAL.4 is optional because the Hebrew Bible includes its content within * MAL.3. */ export declare const OPTIONAL_CHAPTERS: Set; export { NEW_TESTAMENT_BOOKS, OLD_TESTAMENT_BOOKS } from './bibleBooks'; /** * Returns available chapters for all types (text, audio, timings) plus a * combined `all` array. * * @param bibleId - The bible translation ID to look up * @returns Object with expanded chapter arrays for each type and a combined * `all` array */ export declare function getAvailableChapters(bibleId: string | undefined): { text: string[]; audio: string[]; timings: string[]; all: string[]; }; export declare function getPercentage(bibleId: string, type: 'text' | 'audio' | 'timings'): number; /** * Determines the appropriate bible for a given passage based on the language's * bible, bible modifiers, and fallback bible. */ export declare function getBibleForPassage({ languageInfo, lessonCategory, passageId, }: { languageInfo: LanguageInfo; lessonCategory: SetCategory | undefined; passageId: string; }): string;