import { TraitSchema, RuntimeTrait } from '@subscan/widget-core';
import { RegistryInterface } from '@subscan/widget-runtime';
import { IComponentModel, TraitType, ITraitModel, IFieldModel, TraitId, IAppModel } from './IAppModel';
export declare class TraitModel implements ITraitModel {
    private registry;
    private appModel;
    parent: IComponentModel;
    private schema;
    spec: RuntimeTrait;
    id: TraitId;
    type: TraitType;
    properties: IFieldModel;
    _isDirty: boolean;
    constructor(trait: TraitSchema, registry: RegistryInterface, appModel: IAppModel, parent: IComponentModel);
    get rawProperties(): any;
    get methods(): import("@subscan/widget-core").MethodSchema[];
    toSchema(): TraitSchema;
    updateProperty(key: string, value: any): void;
}
