import { IProperty } from './IProperty.js'; import { IService } from '../IService.js'; import { IDesignItem } from '../../item/IDesignItem.js'; import { ValueType } from './ValueType.js'; import { BindingTarget } from '../../item/BindingTarget.js'; import { IBinding } from '../../item/IBinding.js'; import { IPropertyGroup } from './IPropertyGroup.js'; import { IContextMenuItem } from '../../helper/contextMenu/IContextMenuItem.js'; export declare enum RefreshMode { none = 0, full = 1, fullOnValueChange = 2, fullOnClassChange = 3 } export interface IPropertiesService extends IService { getRefreshMode(designItem: IDesignItem): RefreshMode; isHandledElement(designItem: IDesignItem): boolean; getProperties(designItem: IDesignItem): Promise; getProperty(designItem: IDesignItem, name: string): Promise; getBinding(designItems: IDesignItem[], property: IProperty): IBinding; getPropertyTarget(designItem: IDesignItem, property: IProperty): BindingTarget; getPropertyNameSuggestions?(designItems: IDesignItem[]): string[]; setValue(designItems: IDesignItem[], property: IProperty, value: any): Promise; previewValue?(designItems: IDesignItem[], property: IProperty, value: any): Promise; removePreviewValue?(designItems: IDesignItem[], property: IProperty): Promise; clearValue(designItems: IDesignItem[], property: IProperty, clearType: 'all' | 'binding' | 'value'): any; isSet(designItems: IDesignItem[], property: IProperty): ValueType; getValue(designItems: IDesignItem[], property: IProperty): any; getUnsetValue(designItems: IDesignItem[], property: IProperty): any; getContextMenu(designItems: IDesignItem[], property: IProperty): IContextMenuItem[]; }