import ModelProperty from "./ModelProperty";
declare class AbstractModel {
    _explicitLookup: any;
    __propertyFrom: any;
    constructor(options?: any);
    visitModel(nodePath: any, visitedMap: any, visitor: any): void;
    getOrCreatePath(nodePath: any, jsonRoot: any): any;
    toJSON(filterUnused?: boolean): any;
    get propertiesNames(): any[];
    lookupPropertyDef(propertyName: any): any;
    isProperty(propertyName: any): boolean;
    getProperty(propertyName: any): any;
    enrichInputs(inputs: any): any[];
    overrideProperty(propertyName: any, options: any): ModelProperty;
    addProperty(propertyName: string, options: any, existingPropertyDef?: any): ModelProperty;
    recalcCycle(markedList: any, notifyListeners?: boolean): void;
    setPropertyValue(propertyName: any, explicitValue: any): void;
    setPropertyValues(updates: any): void;
    getPropertyValue(propertyPath: any): any;
    addDependencies(input: any, adder: any): void;
    collectListeners(propertyName: any): {};
    notifyPropertyListeners(updates: any): void;
    addPropertyListener(inputs: any, listener: any): any;
    removeListenerDependencies(deps: any): void;
    registerListenerDep(instance: any, propertyName: any, listenerInfo: any): void;
    unregisterListenerDep(instance: any, propertyName: any, listenerInfo: any): void;
    toString(): string;
    dispose(): void;
    addDispose(dispose: any): void;
}
export default AbstractModel;
//# sourceMappingURL=AbstractModel.d.ts.map