import { IIdentified, IManagedObject } from '@c8y/client';
import { AssetNodeService } from '../asset-node.service';
import { GroupNode } from './group-node';
import * as i0 from "@angular/core";
export declare class AssetSelectorService extends AssetNodeService {
    /**
     * Function which will check if the node is selectable.
     */
    private isNodeSelectableFn;
    /**
     * Sets the function that will decide if the node is selectable.
     * @param fn A boolean or a function that will decide if the node is selectable.
     */
    setIsNodeSelectable(fn: boolean | ((node: GroupNode) => boolean)): void;
    /**
     * Checks if the node is selectable.
     * @param node The node to check.
     */
    isNodeSelectable(node: GroupNode): boolean;
    /**
     * Simplifies the object model based on the selected mode.
     * @param obj The selected asset.
     * @param mode The mode which will decide what type of model will be returned.
     */
    normalizeValue(obj: Partial<IManagedObject>, modelMode: 'simple' | 'full'): Partial<IManagedObject> | IIdentified;
    simplifyModel(model: Partial<IManagedObject> | IIdentified[], mode: 'simple' | 'full'): Partial<IManagedObject> | IIdentified;
    /**
     * Returns the index of the currently selected item.
     * @param selected All selected items
     * @param selectedMo The new selected item-
     * @returns An index, or -1 if not found.
     */
    getIndexOfSelected(selected: Array<Partial<IIdentified>> | Partial<IIdentified>, selectedMo: IIdentified): any;
    private normalizeModelValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<AssetSelectorService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AssetSelectorService>;
}
//# sourceMappingURL=asset-selector.service.d.ts.map