import type { BookletDateModule } from './booklet-date-factory';
import type { BookletPlaceModule } from './booklet-place-factory';
import type { BookletLocale } from './booklet-locale';
import type { NarrativeStrings } from './booklet-narrative-i18n';
import type { BookletPersonEntry } from './booklet-person';
import type { BookletChapter, BookletDetailLevel, BookletFamilyUnit } from './booklet-structure';
export interface NarrativeModule {
    buildChapterIntroNarrative: (chapter: BookletChapter) => string;
    buildFamilyNarrative: (family: BookletFamilyUnit, detailLevel: BookletDetailLevel) => readonly string[];
    buildPersonSummaryNarrative: (entry: BookletPersonEntry) => string;
    buildPersonDetailedNarratives: (entry: BookletPersonEntry) => readonly string[];
}
export declare function createNarrativeModule(locale: BookletLocale, strings: NarrativeStrings, deps: {
    readonly dateModule: BookletDateModule;
    readonly placeModule: BookletPlaceModule;
    readonly unknownDates: string;
}): NarrativeModule;
