import { IManagedObject, InventoryService } from '@c8y/client';
import { AlertService } from '@c8y/ngx-components';
import { AssetSelectionChangeEvent, AssetSelectorOptions } from '@c8y/ngx-components/assets-navigator';
import { WidgetConfigService } from '../widget-config.service';
import { WidgetConfigSectionComponent } from './widget-config-section.component';
import { ContextWidgetConfig } from '../context-dashboard.model';
import * as i0 from "@angular/core";
export declare class WidgetAssetSelectorComponent {
    widgetConfigService: WidgetConfigService;
    sectionComponent: WidgetConfigSectionComponent;
    inventoryService: InventoryService;
    alertService: AlertService;
    /**
     * If set to true, a device must be selected. Default is true.
     */
    isRequired: boolean;
    /**
     * If set to false, unassigned devices will not be shown in the asset selector.
     */
    showUnassigned: boolean;
    /**
     * If set to true, groups will be selectable in the asset selector.
     */
    groupsSelectable: boolean;
    /**
     * For advanced usage, the whole asset-selector-component configuration can be passed.
     */
    assetSelectorConfig: AssetSelectorOptions;
    /**
     * Defines the selected device.
     */
    selectedDevice: IManagedObject;
    /**
     * @ignore
     */
    ngOnInit(): Promise<void>;
    /**
     * Returns true if a context is set.
     * @param value The current configuration of the widget.
     * @returns true if a context is set, false otherwise.
     */
    hasContext(value: ContextWidgetConfig): boolean;
    /**
     * Update the configuration of the widget if the selection was changed.
     * @param $event The change event of the selection.
     */
    selectionChanged($event: AssetSelectionChangeEvent): void;
    private updateConfig;
    static ɵfac: i0.ɵɵFactoryDeclaration<WidgetAssetSelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WidgetAssetSelectorComponent, "c8y-widget-asset-selector", never, { "isRequired": { "alias": "isRequired"; "required": false; }; "showUnassigned": { "alias": "showUnassigned"; "required": false; }; "groupsSelectable": { "alias": "groupsSelectable"; "required": false; }; "assetSelectorConfig": { "alias": "assetSelectorConfig"; "required": false; }; "selectedDevice": { "alias": "selectedDevice"; "required": false; }; }, {}, never, never, true, never>;
}
//# sourceMappingURL=widget-asset-selector.component.d.ts.map