import { BibleVerse, BibleApiResponse, BibleSearchOptions, ParsedBibleReference, SlashCommandMatch } from '../types/Bible';
export declare class BibleVerseEngine {
    private static instance;
    private cache;
    private apiEndpoint?;
    private fullVerseDatabase?;
    private constructor();
    static getInstance(): BibleVerseEngine;
    setApiEndpoint(endpoint: string): void;
    setFullVerseDatabase(database: {
        [key: string]: BibleVerse;
    }): void;
    private initializeKeyVerses;
    parseReference(reference: string): ParsedBibleReference | null;
    searchVerses(query: string, options?: BibleSearchOptions): Promise<BibleApiResponse>;
    detectSlashCommands(text: string): SlashCommandMatch[];
    formatVerse(verse: BibleVerse, includeHeading?: boolean): string;
    formatVerses(verses: BibleVerse[], includeHeading?: boolean): string;
    processSlashCommands(text: string, options?: BibleSearchOptions): Promise<string>;
    getAvailableBooks(): string[];
    isValidReference(reference: string): boolean;
    clearCache(): void;
    getCacheSize(): number;
}
//# sourceMappingURL=BibleVerseEngine.d.ts.map