import { Pattern } from './pattern';
export declare class Dictionary<T> extends Pattern {
    values: T[];
    add(name: string, value: T): void;
    value(name: string): T;
    push(value: T): string;
    change(name: string, value: T): void;
    search(value: T): string;
    copy(dictionary: Dictionary<T>): void;
    share(dictionary: Dictionary<T>, names: string[]): void;
    concat(...dictionaries: Dictionary<T>[]): void;
    array(): {
        name: string;
        value: T;
    }[];
    fromArray(array: T[]): void;
    forEach(callback: (value: T, index: string) => string | void): void;
    sort(handler: (a: {
        name: string;
        value: T;
    }, b: {
        name: string;
        value: T;
    }) => number): void;
}
