export interface TranslationType {
    [key: string]: TranslationInterface;
}
export interface TranslationInterface {
    value: string;
    sourceFiles: string[];
}
export declare class TranslationCollection {
    values: TranslationType;
    constructor(values?: TranslationType);
    add(key: string, val: string, sourceFile: string): TranslationCollection;
    addKeys(keys: string[], sourceFile: string): TranslationCollection;
    remove(key: string): TranslationCollection;
    forEach(callback: (key?: string, val?: TranslationInterface) => void): TranslationCollection;
    filter(callback: (key?: string, val?: TranslationInterface) => boolean): TranslationCollection;
    map(callback: (key?: string, val?: TranslationInterface) => TranslationInterface): TranslationCollection;
    union(collection: TranslationCollection): TranslationCollection;
    intersect(collection: TranslationCollection): TranslationCollection;
    has(key: string): boolean;
    get(key: string): TranslationInterface;
    keys(): string[];
    count(): number;
    isEmpty(): boolean;
    sort(compareFn?: (a: string, b: string) => number): TranslationCollection;
    toKeyValueObject(): {
        [key: string]: string;
    };
    stripKeyPrefix(prefix: string): TranslationCollection;
}
