gedcom-ts
Version:
TypeScript GEDCOM toolkit for browser apps: import .ged/.zip, edit typed genealogy data, and export GEDCOM or GEDZIP.
36 lines (35 loc) • 1.7 kB
TypeScript
import type { Act } from "../commons/Act";
import type { ObjeRecord } from "../commons/ObjeRecord";
import type { Person } from "../commons/Person";
import { DateAct } from "../commons/DateAct";
import { Place } from "../commons/Place";
import { type CreateAudioInterviewActInit } from "../utils/gedcom/audioInterviewAct";
/**
* Façade d’édition pour un acte « entretien audio » (`EVEN` + `OBJE` + transcription).
*/
export declare class AudioInterviewActEdit {
private readonly target;
private readonly persons;
private readonly objeRegistry?;
private pendingObjeRecord;
constructor(target: Act, persons?: readonly Person[], objeRegistry?: Map<number, ObjeRecord>);
get value(): Act;
get objeRecord(): ObjeRecord | null;
ensureEvenInterviewType(): this;
setDescription(text: string): this;
setEvenTypeLabel(label: string): this;
setDate(date: DateAct | null): this;
setPlace(place: Place | null): this;
setParticipants(indis: readonly number[]): this;
setTranscription(text: string): this;
/** Attache un enregistrement audio (fichier ou URI) et prépare l’OBJE associé. */
attachAudio(init: Pick<CreateAudioInterviewActInit, "audioFile" | "audioUri" | "vttUri" | "objeXrefId" | "ownerIndi">): this;
registerPendingObje(map: Map<number, ObjeRecord>): this;
isAudioInterview(): boolean;
transcription(): string | null;
audioMedia(): import("..").MultimediaFile[];
objeRecords(): ObjeRecord[];
primaryAudioUri(): string | null;
nextObjeId(): number;
}
export declare function editAudioInterviewAct(act: Act, persons?: readonly Person[], objeRegistry?: Map<number, ObjeRecord>): AudioInterviewActEdit;