/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { TemplateRef, OnChanges, OnInit, OnDestroy, ChangeDetectorRef, TrackByFunction, Renderer2 } from '@angular/core';
import { ExpandStateService } from './expand-state.service';
import { IndexBuilderService } from './index-builder.service';
import { TreeViewLookupService } from './treeview-lookup.service';
import { NavigationService } from './navigation/navigation.service';
import { NodeChildrenService } from './node-children.service';
import { LoadMoreService } from './load-more/load-more.service';
import { LoadingNotificationService } from './loading-notification.service';
import { CheckedState } from './checkbox/checked-state';
import { Observable } from 'rxjs';
import { DataChangeNotificationService } from './data-change-notification.service';
import { TreeViewSize } from './size';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class TreeViewGroupComponent implements OnChanges, OnInit, OnDestroy {
    protected expandService: ExpandStateService;
    protected loadingService: LoadingNotificationService;
    protected indexBuilder: IndexBuilderService;
    protected treeViewLookupService: TreeViewLookupService;
    protected navigationService: NavigationService;
    protected nodeChildrenService: NodeChildrenService;
    protected dataChangeNotification: DataChangeNotificationService;
    protected changeDetectorRef: ChangeDetectorRef;
    localization: LocalizationService;
    private renderer;
    /**
     * @hidden
     */
    caretAltDownIcon: SVGIcon;
    /**
     * @hidden
     */
    caretAltRightIcon: SVGIcon;
    /**
     * @hidden
     */
    caretAltLeftIcon: SVGIcon;
    /**
     * @hidden
     */
    loadMoreTitle: string;
    kGroupClass: boolean;
    get role(): string;
    checkboxes: boolean;
    expandIcons: boolean;
    disabled: boolean;
    selectable: boolean;
    touchActions: boolean;
    disableParentNodesOnly: boolean;
    loadOnDemand: boolean;
    trackBy: TrackByFunction<object>;
    nodes: (node: any, index: string) => Observable<any[]>;
    textField: string | string[];
    parentDataItem: any;
    parentIndex: string;
    nodeTemplateRef: TemplateRef<any>;
    loadMoreButtonTemplateRef: TemplateRef<any>;
    loadMoreService: LoadMoreService;
    size: TreeViewSize;
    expandDisabledNodes: boolean;
    initialNodesLoaded: boolean;
    loadingMoreNodes: boolean;
    isItemExpandable: (node: any, index: any) => boolean;
    getFontIcon(node: any, index: any): string;
    getSvgIcon(node: any, index: any): SVGIcon;
    get moreNodesAvailable(): boolean;
    get pageSize(): number;
    set pageSize(pageSize: number);
    get data(): any[];
    set data(data: any[]);
    get loadMoreButtonIndex(): string;
    /**
     * Represents the total number of nodes for the current level.
     */
    get totalNodesCount(): number;
    private _data;
    private nodesSubscription;
    private loadMoreNodesSubscription;
    private singleRecordSubscriptions;
    private localizationSubscriptions;
    constructor(expandService: ExpandStateService, loadingService: LoadingNotificationService, indexBuilder: IndexBuilderService, treeViewLookupService: TreeViewLookupService, navigationService: NavigationService, nodeChildrenService: NodeChildrenService, dataChangeNotification: DataChangeNotificationService, changeDetectorRef: ChangeDetectorRef, localization: LocalizationService, renderer: Renderer2);
    isChecked: (item: object, index: string) => CheckedState;
    isDisabled: (item: object, index: string) => boolean;
    hasCheckbox: (item: object, index: string) => boolean;
    isExpanded: (item: object, index: string) => boolean;
    isVisible: (item: object, index: string) => boolean;
    isSelected: (item: object, index: string) => boolean;
    children: (item: object) => Observable<any[]>;
    hasChildren: (item: object) => boolean;
    get hasTemplate(): boolean;
    expandNode(index: string, dataItem: any, expand: boolean): void;
    checkNode(index: string, checkBox: CheckBoxComponent): void;
    nodeIndex(index: number): string;
    nodeText(dataItem: any): any;
    getCheckBoxState(item: object, index: any): any;
    getCheckboxAttributes(index: number): {
        [key: string]: string;
    };
    ngOnDestroy(): void;
    ngOnInit(): void;
    ngOnChanges(changes: any): void;
    private l10nChange;
    fetchChildren(node: any, index: string): Observable<any>;
    get nextFields(): string[];
    loadMoreNodes(): void;
    /**
     * @hidden
     */
    isItemDisabled(node: any, index: any): boolean;
    /**
     * @hidden
     */
    setItemClasses(dataLength: number, index: any): string;
    private loadMoreLocalNodes;
    private fetchMoreNodes;
    private setNodeChildren;
    private mapToTreeItem;
    private emitChildrenLoaded;
    private subscribeToNodesChange;
    private reselectItemAt;
    private registerLoadedNodes;
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeViewGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TreeViewGroupComponent, "[kendoTreeViewGroup]", never, { "checkboxes": { "alias": "checkboxes"; "required": false; }; "expandIcons": { "alias": "expandIcons"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "touchActions": { "alias": "touchActions"; "required": false; }; "disableParentNodesOnly": { "alias": "disableParentNodesOnly"; "required": false; }; "loadOnDemand": { "alias": "loadOnDemand"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "nodes": { "alias": "nodes"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "parentDataItem": { "alias": "parentDataItem"; "required": false; }; "parentIndex": { "alias": "parentIndex"; "required": false; }; "nodeTemplateRef": { "alias": "nodeTemplateRef"; "required": false; }; "loadMoreButtonTemplateRef": { "alias": "loadMoreButtonTemplateRef"; "required": false; }; "loadMoreService": { "alias": "loadMoreService"; "required": false; }; "size": { "alias": "size"; "required": false; }; "expandDisabledNodes": { "alias": "expandDisabledNodes"; "required": false; }; "isChecked": { "alias": "isChecked"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "hasCheckbox": { "alias": "hasCheckbox"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "children": { "alias": "children"; "required": false; }; "hasChildren": { "alias": "hasChildren"; "required": false; }; }, {}, never, never, true, never>;
}
