import { GroupNodeService } from './group-node.service';
import { AssetNode } from '../asset-node';
import { GroupNodeConfig } from './asset-selector.model';
export declare class GroupNode extends AssetNode {
    protected service: GroupNodeService;
    static NAME: string;
    /**
     * Set this true, if only groups should be shown.
     */
    groupsOnly: boolean;
    /**
     * Set this true, if it groups are also selectable.
     */
    groupsSelectable: boolean;
    /**
     * Devices with children can be selected to show their child devices.
     */
    showChildDevices: boolean;
    /**
     * Group node children (subentries).
     */
    children: GroupNode[];
    /**
     * Creates a new node which shows only groups.
     *
     * @param service The service to use.
     * @param config  The default configuration of the node.
     * @param groupsOnly Set this true, if only groups should be shown.
     * @param selectable Set this true, if it is selectable.
     */
    constructor(service: GroupNodeService, config?: GroupNodeConfig);
    /**
     * Adds the MO as a child node.
     * @param mo ManagedObject
     */
    addManagedObject(mo: any): void;
    /**
     * Counts the number of children for the current node (with the exception of the UnassignedDevicesNode).
     */
    countChildren(): number;
    /**
     * Removes all child nodes except the UnassignedDevicesNode.
     */
    empty(): void;
    fetch(): Promise<any>;
    toString(): string;
    isGroup(): boolean;
}
//# sourceMappingURL=group-node.d.ts.map