import { IManagedObject } from '@c8y/client';
import { IIdentified } from '@c8y/client';
export interface AssetSelectionChangeEvent {
    items: IIdentified | IIdentified[];
    change: {
        item: IManagedObject;
        isSelected: boolean;
    };
}
export interface GroupNodeConfig {
    root?: boolean;
    mo?: IManagedObject;
    groupsOnly?: boolean;
    groupsSelectable?: boolean;
    showChildDevices?: boolean;
}
export declare const CONFIG_OPTIONS_DEFAULT: AssetSelectorOptions;
export interface AssetSelectorOptions {
    /**
     * Already selected devices.
     */
    selectedDevices?: IIdentified | IIdentified[];
    /**
     * Defines a label to be shown to the user.
     */
    label?: string;
    /**
     * Can the user select multiple assets.
     */
    multi?: boolean;
    /**
     * displays a filter input on every column when using the miller view.
     */
    showFilter?: boolean;
    /**
     * displays a column header on every column when using the miller view.
     */
    columnHeaders?: boolean;
    /**
     * Displays only the select column.
     */
    singleColumn?: boolean;
    /**
     * Set to true to mark it as required on a form.
     */
    required?: boolean;
    /**
     * In simple model-mode the result will only contain the IDs and name of the selected
     * assets. In full mode, everything is contained.
     */
    modelMode?: 'simple' | 'full';
    /**
     * Set this to true, if the selector should only show groups.
     */
    groupsOnly?: any;
    /**
     * Set this true, if groups should be selectable.
     */
    groupsSelectable?: any;
    /**
     * Enable to display global search in the asset-selector (only possible whithout device context).
     */
    search?: boolean;
    /**
     * Displays all unassigned devices in a custom root group.
     */
    showUnassignedDevices?: boolean;
    /**
     * Set the view of the asset selector with tree view as default.
     */
    view?: 'tree' | 'miller';
    /**
     * Used only for miller-view, displays the column level for the current node.
     * E.g if the index is one, this will be second column.
     */
    index?: number;
    /**
     * Used only for single column, the array contains all selected columns.
     */
    selectedColumns?: IIdentified[] | IIdentified;
    /**
     * Devices with children can be selected to show their child devices.
     */
    showChildDevices?: boolean;
    /**
     * Allows to show chips at the top with the currently selected asset for multi select.
     * For single select it shows the currently selected asset.
     */
    showSelected?: boolean;
}
//# sourceMappingURL=asset-selector.model.d.ts.map