import type { ReadGed } from "../import/ReadGed";
import type { Person } from "../commons/Person";
/**
 * Édition des blocs `0 …` conservés pour round-trip (voir {@link ReadGed.preservedTopLevelRecords}).
 */
export declare class PreservedTopLevelEdit {
    private readonly target;
    constructor(target: ReadGed);
    get value(): ReadonlyArray<string>;
    append(block: string): this;
    insertAt(index: number, block: string): this;
    replaceAt(index: number, block: string): this;
    removeAt(index: number): this;
    clear(): this;
}
/**
 * Facade d’édition sur un {@link ReadGed} (personnes + enregistrements préservés).
 */
export declare class ReadGedEdit {
    private readonly target;
    constructor(target: ReadGed);
    get value(): ReadGed;
    addPerson(person: Person): this;
    removePersonByIndi(indi: number): boolean;
    preserved(): PreservedTopLevelEdit;
}
export declare function editReadGed(readGed: ReadGed): ReadGedEdit;
