interface Location {
    file: string;
    lineStart: number;
    lineEnd?: number;
}
export interface TranslationUnit {
    id: string;
    source: string;
    target?: string;
    state?: string;
    meaning?: string;
    description?: string;
    locations: Location[];
    additionalAttributes?: {
        name: string;
        value: string;
        path: string;
    }[];
}
export declare class TranslationFile {
    readonly units: TranslationUnit[];
    readonly sourceLang: string;
    readonly targetLang?: string | undefined;
    readonly xmlHeader?: string | undefined;
    readonly trailingWhitespace?: string | undefined;
    constructor(units: TranslationUnit[], sourceLang: string, targetLang?: string | undefined, xmlHeader?: string | undefined, trailingWhitespace?: string | undefined);
    mapUnitsList(unitsMapper: (units: TranslationUnit[]) => TranslationUnit[]): TranslationFile;
    replaceUnit(unit: TranslationUnit, updated: TranslationUnit): void;
    addUnit(updated: TranslationUnit): void;
}
export {};
