import { IPropertyEditorT } from '../IPropertyEditor.js';
import { IProperty } from '../IProperty.js';
import { ValueType } from '../ValueType.js';
import { IDesignItem } from '../../../item/IDesignItem.js';
export declare abstract class BasePropertyEditor<T extends HTMLElement> implements IPropertyEditorT<T> {
    element: T;
    property: IProperty;
    designItems: IDesignItem[];
    protected disableChangeNotification: boolean;
    constructor(property: IProperty);
    protected _previewValueChanged(newValue: any): Promise<void>;
    protected _removePreviewValue(): Promise<void>;
    protected _valueChanged(newValue: any): Promise<void>;
    designItemsChanged(designItems: IDesignItem[]): void;
    abstract refreshValue(valueType: ValueType, value: any): any;
    refreshValueWithoutNotification(valueType: ValueType, value: any): void;
}
