import type { BookletDateModule } from './booklet-date-factory';
import type { BookletPlaceModule } from './booklet-place-factory';
import type { BookletSex, PersonGenderWords } from './booklet-gender';
import type { GenderPhraseBundle } from './booklet-gender-data';
import type { BookletLocale } from './booklet-locale';
import type { BookletMessages } from './booklet-messages-types';
import type { NarrativeModule } from './booklet-narrative-engine';
export interface BookletLocaleBundle {
    readonly messages: BookletMessages;
    readonly genderWords: Record<BookletSex, PersonGenderWords>;
    readonly genderPhrases?: GenderPhraseBundle;
    readonly dateModule: BookletDateModule;
    readonly placeModule: BookletPlaceModule;
    readonly narrativeModule: NarrativeModule;
}
export declare class BookletLocaleNotLoadedError extends Error {
    constructor(locale: BookletLocale);
}
/** Clears cached locale bundles (tests). */
export declare function clearBookletLocaleCache(): void;
/**
 * Lazy-loads messages, gender, date/place, and narrative modules for one locale.
 * Required before sync APIs (`getBookletMessages`, `collectBookletPersons`, …).
 */
export declare function ensureBookletLocale(locale?: BookletLocale): Promise<BookletLocale>;
export declare function getBookletLocaleBundle(locale: BookletLocale): BookletLocaleBundle;
export declare function isBookletLocaleLoaded(locale: BookletLocale): boolean;
