import { ServiceContainer } from '../../services/ServiceContainer.js';
import { IDesignItem } from '../../item/IDesignItem.js';
import { BaseCustomWebComponentLazyAppend } from '@node-projects/base-custom-webcomponent';
import { IContentChanged, InstanceServiceContainer } from '../../services/InstanceServiceContainer.js';
import { IPropertyGroup } from '../../services/propertiesService/IPropertyGroup.js';
import { IProperty } from '../../services/propertiesService/IProperty.js';
import { IContextMenuItem } from '../../helper/contextMenu/IContextMenuItem.js';
export declare class PropertyGrid extends BaseCustomWebComponentLazyAppend {
    private _serviceContainer;
    private _designerTabControl;
    private _selectedItems;
    private _propertyGridPropertyLists;
    private _propertyGridPropertyListsDict;
    private _nodeReplacedCb;
    private _instanceServiceContainer;
    private _selectionChangedHandler;
    private _contentChangedHandler;
    propertyGroupHover: (group: IPropertyGroup, part: 'name' | 'desc') => boolean;
    propertyGroupClick: (group: IPropertyGroup, part: 'name' | 'desc') => void;
    propertyContextMenuProvider: (designItems: IDesignItem[], property: IProperty) => IContextMenuItem[];
    static readonly style: CSSStyleSheet;
    static readonly properties: {
        serviceContainer: ObjectConstructor;
        instanceServiceContainer: ObjectConstructor;
        selectedItems: ArrayConstructor;
        propertyGroupHover: FunctionConstructor;
        propertyGroupClick: FunctionConstructor;
        propertyContextMenuProvider: FunctionConstructor;
    };
    constructor();
    set serviceContainer(value: ServiceContainer);
    get serviceContainer(): ServiceContainer;
    set instanceServiceContainer(value: InstanceServiceContainer);
    get selectedItems(): IDesignItem[];
    set selectedItems(items: IDesignItem[]);
    _selectedItemsSet(): Promise<void>;
    _blockDoubleRun: boolean;
    _changeOccured(change: IContentChanged, forceRecreate?: boolean): Promise<void>;
    private _observePrimarySelectionForChanges;
}
