import { PassageReference } from '@gracious.tech/bible-references'; import type { RuntimeLicense, RuntimeCopyright } from '../assets/types.js'; import type { BibleJsonTxt, TxtContent } from '../assets/shared_types.js'; export interface GetMarkupOptions { attribute?: boolean | RuntimeLicense; } export type GetHtmlOptions = GetMarkupOptions; export type GetTypstOptions = GetMarkupOptions; export interface GetTxtOptions { attribute?: boolean | RuntimeLicense; verse_nums?: boolean; headings?: boolean; notes?: boolean; } export interface IndividualVerse { id: number; chapter: number; verse: number; content: T; } declare abstract class BibleBookMarkup { _copyright: RuntimeCopyright | undefined; _content: { contents: string[][][]; }; constructor(json: string, copyright?: RuntimeCopyright); abstract get_attribution(license?: RuntimeLicense): string; _wrap_chapter(chapter: number, inner: string): string; _attribution(license: RuntimeLicense | boolean | undefined): string; get_whole({ attribute }?: GetMarkupOptions): string; get_passage(start_chapter: number, start_verse: number, end_chapter: number, end_verse: number, options?: GetMarkupOptions): string; get_passage_from_ref(ref: PassageReference, options?: GetMarkupOptions): string; get_chapters(first: number, last: number, options?: GetMarkupOptions): string; get_chapter(chapter: number, options?: GetMarkupOptions): string; get_verse(chapter: number, verse: number, options?: GetMarkupOptions): string; get_list(start_chapter?: number, start_verse?: number, end_chapter?: number, end_verse?: number): IndividualVerse[]; get_list_from_ref(ref: PassageReference): IndividualVerse[]; } export declare class BibleBookHtml extends BibleBookMarkup { get_attribution(license?: RuntimeLicense): string; _wrap_chapter(chapter: number, inner: string): string; } export declare class BibleBookTypst extends BibleBookMarkup { get_attribution(license?: RuntimeLicense): string; } export declare class BibleBookUsx { _copyright: RuntimeCopyright | undefined; _usx: string; constructor(usx: string, copyright?: RuntimeCopyright); get_whole(): string; } export declare class BibleBookUsfm { _copyright: RuntimeCopyright | undefined; _usfm: string; constructor(usfm: string, copyright?: RuntimeCopyright); get_whole(): string; } export declare class BibleBookTxt { _copyright: RuntimeCopyright | undefined; _txt: BibleJsonTxt; constructor(txt: string, copyright?: RuntimeCopyright); get_attribution(license?: RuntimeLicense): string; _attribution(license: RuntimeLicense | boolean | undefined): string; get_whole(options?: GetTxtOptions): string; get_passage(start_chapter: number, start_verse: number, end_chapter: number, end_verse: number, options?: GetTxtOptions): string; get_passage_from_ref(ref: PassageReference, options?: GetTxtOptions): string; get_chapters(first: number, last: number, options?: GetTxtOptions): string; get_chapter(chapter: number, options?: GetTxtOptions): string; get_verse(chapter: number, verse: number, options?: GetTxtOptions): string; get_list(start_chapter?: number, start_verse?: number, end_chapter?: number, end_verse?: number): IndividualVerse[]; get_list_from_ref(ref: PassageReference): IndividualVerse[]; } export type BibleBook = BibleBookHtml | BibleBookTxt | BibleBookUsfm | BibleBookUsx | BibleBookTypst; export {};