import { EventEmitter, TemplateRef } from '@angular/core';
import { IManagedObject, InventoryService } from '@c8y/client';
import { ActionControl, AlertService, GainsightService, HeaderActionControl, Pagination, UserPreferencesGridConfigContext } from '@c8y/ngx-components';
import { SubAssetsService } from '../sub-assets.service';
import * as i0 from "@angular/core";
export declare class AssignDevicesComponent {
    private alert;
    private subAssetsService;
    private inventoryService;
    private gainsightService;
    static readonly GRID_CONFIG_CONTEXT: UserPreferencesGridConfigContext;
    CURRENT_LOCATION: string;
    PRODUCT_EXPERIENCE: {
        readonly EVENT: "subAssets";
        readonly DELETE_ASSET: {
            readonly COMPONENTS: {
                readonly DELETE_ASSETS_MODAL: "delete-assets-modal";
            };
            readonly ACTIONS: {
                readonly CASCADE_DELETE: "cascadeDelete";
                readonly DELETE_DEVICE_OWNER: "deleteDeviceOwner";
            };
            readonly RESULTS: {
                readonly CANCELED: "canceled";
                readonly DELETED: "deleted";
            };
        };
        readonly ASSIGN_DEVICES: {
            readonly COMPONENTS: {
                readonly ASSIGN_DEVICES: "assign-devices";
            };
            readonly ACTIONS: {
                readonly ASSIGN: "assign";
                readonly CANCEL: "cancel";
                readonly DISPLAY_CHILD_DEVICES: "displayChildDevices";
            };
        };
        readonly UNASSIGN_MODAL: {
            readonly COMPONENTS: {
                readonly UNASSIGN_MODAL: "unassign-modal";
            };
            readonly RESULTS: {
                readonly ASSET_UNASSIGNED: "asset-unassigned";
            };
            readonly ACTIONS: {
                readonly CANCEL: "cancel";
            };
        };
        readonly GROUP_INFO: {
            readonly COMPONENTS: {
                readonly GROUP_INFO: "group-info";
            };
            readonly ACTIONS: {
                readonly EDIT: "edit";
            };
            readonly RESULTS: {
                readonly EDIT_SAVED: "edit-saved";
            };
            readonly PROPERTIES: {
                readonly NAME: "name";
                readonly DESCRIPTION: "description";
            };
        };
        readonly ADD_GROUP: {
            readonly COMPONENTS: {
                readonly ADD_GROUP: "add-group";
            };
            readonly ACTIONS: {
                readonly ADD: "add";
            };
            readonly RESULTS: {
                readonly ADD_SUCCESS: "group-added";
            };
        };
    };
    currentGroupId: string;
    refresh: EventEmitter<any>;
    onCancel: EventEmitter<any>;
    onShowChildDevices: EventEmitter<boolean>;
    selectedDevice: EventEmitter<IManagedObject>;
    showDevicesToggle: TemplateRef<any>;
    deviceQueryStringOutput: string;
    pendingStatus: boolean;
    pagination: Pagination;
    selected: string[];
    baseQuery: any;
    canAssignDevice: boolean;
    actionControls: ActionControl[];
    headerActionControls: HeaderActionControl[];
    showChildren: boolean;
    readonly isSelectable = true;
    constructor(alert: AlertService, subAssetsService: SubAssetsService, inventoryService: InventoryService, gainsightService: GainsightService);
    onEnterKeyDown(_event: KeyboardEvent): void;
    ngOnInit(): Promise<void>;
    setNotIncludedInGroupQuery(): void;
    setHeaderActionControls(): void;
    setActionControls(showChildren: boolean): void;
    assignDevices(): Promise<void>;
    onSelected(selectedDevicesIDs: string[]): void;
    selectChildren(asset: IManagedObject): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AssignDevicesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AssignDevicesComponent, "c8y-assign-devices", never, { "currentGroupId": { "alias": "currentGroupId"; "required": false; }; "refresh": { "alias": "refresh"; "required": false; }; }, { "onCancel": "onCancel"; "onShowChildDevices": "onShowChildDevices"; "selectedDevice": "selectedDevice"; }, never, never, false, never>;
}
//# sourceMappingURL=assign-devices.component.d.ts.map