import type { Person } from "../../commons/Person";
import type { PersonNameVariant } from "../../commons/PersonNameVariant";
export type ParsedPersonName = {
    firstnames: string[];
    lastname: string;
};
/** Retire les guillemets GEDCOM 7 (`"Jean Pierre"`) autour d’un segment de nom. */
export declare function sanitizeGedcomNameToken(value: string): string;
export declare function parsePersonName(rawName: string): ParsedPersonName;
/**
 * Choisit la valeur `1 NAME` la plus pertinente : priorité au bloc avec `2 TYPE BIRTH`
 * (GEDCOM 7 / noms multiples), sinon premier nom avec patronyme `/…/`, sinon le premier `NAME`.
 */
export declare function extractRawNameFromGedcomLines(lines: string[]): string | null;
/** Affichage lisible d’un bloc `1 NAME` (GIVN/SURN ou payload), sans guillemets GEDCOM. */
export declare function formatPersonNameFromVariant(variant: PersonNameVariant): string | null;
export declare function personNamePartsFromPerson(person: Person): {
    given: string;
    surname: string;
};
export declare function personDisplayName(person: Person): string;
export declare function personInitialsFromPerson(person: Person): string;
/** Même logique que {@link extractRawNameFromGedcomLines} appliquée aux blocs `NAME` déjà découpés. */
export declare function selectPrimaryNameVariant(variants: PersonNameVariant[]): PersonNameVariant | null;
