/// <reference path="leaf.d.ts" />
declare namespace Leaf {
    class Model<TAttribute, TField extends string> {
        readonly name: string;
        protected _fields: TField[];
        events: EventEmitter<string>;
        readonly fields: TField[];
        private _data;
        readonly data: TAttribute;
        [index: string]: any;
        constructor(name: string, _fields?: TField[]);
        private define(name);
        hasKey(key: string): boolean;
        sets(obj: any): boolean;
        set(key: TField, value: any, silent?: boolean): boolean;
        get(key: TField): any;
        toJSON(): any;
    }
}
