/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterContentInit, AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, QueryList, SimpleChange, NgZone, ChangeDetectorRef, TemplateRef, TrackByFunction } from '@angular/core';
import { Observable } from 'rxjs';
import { SortDescriptor, CompositeFilterDescriptor } from '@progress/kendo-data-query';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { DragTargetContainerDirective, DragTargetDataFn, DropTargetContainerDirective } from '@progress/kendo-angular-utils';
import { ScrollMode } from './scrolling/scrollmode';
import { SortSettings } from './columns/sort-settings';
import { ScrollbarService } from '@progress/kendo-angular-common';
import { TreeListDataResult, ViewCollection } from './data/data.collection';
import { EditService } from './editing/edit.service';
import { PageChangeEvent, DataStateChangeEvent } from './data/change-event-args.interface';
import { ColumnsContainer } from './columns/columns-container';
import { ChangeNotificationService } from './data/change-notification.service';
import { NoRecordsTemplateDirective } from './rendering/no-records-template.directive';
import { ColumnBase } from './columns/column-base';
import { FilterService } from './filtering/filter.service';
import { PDFService } from './pdf/pdf.service';
import { PDFExportEvent } from './pdf/pdf-export-event';
import { ResponsiveService } from "./layout/responsive.service";
import { ExcelService } from './excel/excel.service';
import { ExcelExportEvent } from './excel/excel-export-event';
import { ColumnList } from './columns/column-list';
import { RowClassFn } from './rendering/common/row-class';
import { ToolbarTemplateDirective } from "./rendering/toolbar/toolbar-template.directive";
import { EditEvent } from "./editing/edit-event-args.interface";
import { RemoveEvent } from "./editing/remove-event-args.interface";
import { SaveEvent } from "./editing/save-event-args.interface";
import { CancelEvent } from "./editing/cancel-event-args.interface";
import { AddEvent } from "./editing/add-event-args.interface";
import { CellCloseEvent } from './editing/cell-close-event';
import { CellClickEvent } from './common/cell-click-event-args.interface';
import { ScrollSyncService } from "./scrolling/scroll-sync.service";
import { DomEventsService } from './common/dom-events.service';
import { ColumnResizingService } from "./column-resizing/column-resizing.service";
import { ColumnResizeArgs } from './column-resizing/column-resize.interface';
import { FilterableSettings } from './filtering/filterable';
import { ColumnReorderService } from './dragdrop/column-reorder.service';
import { ColumnReorderEvent } from './dragdrop/column-reorder-event';
import { ColumnReorderConfig } from './dragdrop/column-reorder-config';
import { NavigationService } from './navigation/navigation.service';
import { NavigationCell } from './navigation/navigation-cell.interface';
import { NavigationRow } from './navigation/navigation-row.interface';
import { ColumnInfoService } from "./common/column-info.service";
import { ScrollRequestService, ScrollRequest } from './scrolling/scroll-request.service';
import { SortService } from './common/sort.service';
import { ColumnMenuTemplateDirective } from './column-menu/column-menu-template.directive';
import { ColumnMenuSettings } from './column-menu/column-menu-settings.interface';
import { ColumnVisibilityChangeEvent } from './column-menu/column-visibility-change-event';
import { ColumnLockedChangeEvent } from './column-menu/column-locked-change-event';
import { ScrollBottomEvent } from './scrolling/scroll-bottom-event';
import { ContentScrollEvent } from './scrolling/content-scroll-event';
import { TreeListItem } from './data/treelist-item.interface';
import { ExpandStateService } from './expand-state/expand-state.service';
import { ExpandEvent } from './expand-state/expand-event';
import { OptionChangesService } from "./common/option-changes.service";
import { SelectionService } from './selection/selection.service';
import { SelectableSettings } from './selection/selectable-settings';
import { SelectionChangeEvent } from './selection/selection-change-event';
import { IsSelectedFn } from './selection/is-selected';
import { ContextService } from './common/provider.service';
import { RowReorderEvent } from './row-reordering/types';
import { RowReorderService } from './row-reordering/row-reorder.service';
import { ListComponent } from './rendering/list.component';
import { PagerTemplateDirective } from '@progress/kendo-angular-pager';
import { PagerSettings } from './common/pager-settings';
import * as i0 from "@angular/core";
/**
 * Represents the Kendo UI TreeList component for Angular.
 * Use this component to display and manage hierarchical data in a tabular format.
 *
 * @example
 * ```html
 * <kendo-treelist
 *   [kendoTreeListFlatBinding]="data"
 *   [pageSize]="10"
 *   [pageable]="true">
 * </kendo-treelist>
 * ```
 *
 * @remarks
 * Supported children components are:
 * {@link CheckboxColumnComponent},
 * {@link ColumnChooserComponent},
 * {@link ColumnComponent},
 * {@link ColumnGroupComponent},
 * {@link ColumnMenuAutoSizeAllColumnsComponent},
 * {@link ColumnMenuAutoSizeColumnComponent},
 * {@link ColumnMenuChooserComponent},
 * {@link ColumnMenuComponent},
 * {@link ColumnMenuFilterComponent},
 * {@link ColumnMenuItemComponent},
 * {@link ColumnMenuLockComponent},
 * {@link ColumnMenuSortComponent},
 * {@link CommandColumnComponent},
 * {@link CustomMessagesComponent},
 * {@link ExcelComponent},
 * {@link TreeListSpacerComponent},
 * {@link PDFComponent},
 * {@link RowReorderColumnComponent},
 * {@link SpanColumnComponent},
 * {@link ToolBarComponent}.
 */
export declare class TreeListComponent implements AfterContentInit, AfterViewInit, OnDestroy, OnChanges, OnInit {
    private supportService;
    wrapper: ElementRef;
    private changeNotification;
    private editService;
    private filterService;
    private pdfService;
    private responsiveService;
    private renderer;
    private excelService;
    private ngZone;
    private scrollSyncService;
    private domEvents;
    private columnResizingService;
    private changeDetectorRef;
    private columnReorderService;
    private columnInfoService;
    private navigationService;
    private sortService;
    private scrollRequestService;
    private expandStateService;
    private optionChanges;
    selectionService: SelectionService;
    private localization;
    private ctx;
    private rowReorderService;
    /**
     * Provides an accessible description of the component.
     *
     * @remarks
     * This property is related to accessibility.
     */
    ariaLabel: string;
    /**
     * Sets the data for the TreeList. When you provide an array, the TreeList gets the total count automatically
     * ([more information and example](https://www.telerik.com/kendo-angular-ui/components/treelist/data-binding/basics)).
     */
    set data(value: Array<any> | TreeListDataResult | Observable<any> | null | undefined);
    get data(): Array<any> | TreeListDataResult | Observable<any> | null | undefined;
    /**
     * Sets the page size for the TreeList when [paging](https://www.telerik.com/kendo-angular-ui/components/treelist/paging/basics) is enabled.
     *
     * @default 10
     */
    pageSize: number;
    /**
     * Sets the height in pixels for the TreeList when you set the `scrollable` option.
     * You can also use `style.height` to set the height. The `style.height`
     * option supports units such as `px`, `%`, `em`, `rem`, and others.
     */
    height: number;
    /**
     * Sets the actual height of each TreeList row (`tr`) element in the DOM.
     * The [virtual scrolling functionality](https://www.telerik.com/kendo-angular-ui/components/treelist/scroll-modes) requires this setting.
     * Set the `rowHeight` option to match the exact pixel height of the `tr` element in the DOM.
     */
    rowHeight: number;
    /**
     * Sets the number of records that the pager skips.
     * The [paging](https://www.telerik.com/kendo-angular-ui/components/treelist/paging/basics) functionality requires this setting.
     */
    get skip(): number | null | undefined;
    set skip(value: number | null | undefined);
    /**
     * Sets the scroll mode for the TreeList.
     *
     * @default 'scrollable'
     */
    scrollable: ScrollMode;
    /**
     * Sets the descriptors for sorting the data ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/sorting/basics)).
     */
    set sort(value: Array<SortDescriptor> | null | undefined);
    get sort(): Array<SortDescriptor> | null | undefined;
    /**
     * Sets a function that defines how to track changes for the data rows.
     *
     * By default, the TreeList tracks changes by the index of the data item.
     * The TreeList tracks edited rows by reference.
     */
    trackBy: TrackByFunction<TreeListItem>;
    /**
     * Sets the descriptor for filtering the data ([see examples](https://www.telerik.com/kendo-angular-ui/components/treelist/filtering/basics)).
     */
    filter: CompositeFilterDescriptor | null | undefined;
    /**
     * When set to `true`, the TreeList renders only the columns in the current viewport.
     *
     * @default false
     */
    virtualColumns: boolean;
    /**
     * @hidden
     */
    get showTopToolbar(): boolean;
    /**
     * @hidden
     */
    get showBottomToolbar(): boolean;
    /**
     * @hidden
     */
    get isLocked(): boolean;
    /**
     * @hidden
     */
    get showPager(): boolean;
    get showPagerInput(): boolean;
    set showPagerInput(value: boolean);
    get showPagerPageText(): boolean;
    set showPagerPageText(value: boolean);
    get showPagerItemsText(): boolean;
    set showPagerItemsText(value: boolean);
    get marqueeSelection(): boolean;
    /**
     * Enables the [filtering](https://www.telerik.com/kendo-angular-ui/components/treelist/filtering/basics) of TreeList columns that have their `field` option set.
     *
     * @default false
     */
    filterable: FilterableSettings;
    /**
     * Enables the [sorting](https://www.telerik.com/kendo-angular-ui/components/treelist/sorting/basics) of TreeList columns that have their `field` option set.
     *
     * @default false
     */
    sortable: SortSettings;
    /**
     * Configures the pager for the TreeList ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/paging/basics)).
     *
     * @default false
     */
    pageable: PagerSettings | boolean;
    get normalizedPageableSettings(): any;
    /**
     * When keyboard navigation is enabled, you can use dedicated shortcuts to interact with the TreeList.
     * By default, navigation is enabled. To disable it and include the TreeList content in the normal tab sequence, set this property to `false`.
     *
     * @default true
     *
     * @remarks
     * This property is related to accessibility.
     */
    navigable: boolean;
    /**
     * Determines whether TreeList columns resize during initialization to fit their headers and row content.
     * Columns with `autoSize` set to `false` are excluded.
     * To dynamically update the column width to match new content,
     * refer to [this example](https://www.telerik.com/kendo-angular-ui/components/treelist/columns/resizing).
     *
     * @default false
     */
    autoSize: boolean;
    /**
     * A function executed for every data row in the component. It should return a string that will be used as a CSS class for the row.
     */
    set rowClass(fn: RowClassFn);
    get rowClass(): RowClassFn;
    /**
     * Returns the currently focused cell (if any).
     */
    get activeCell(): NavigationCell;
    /**
     * Gets the currently focused row (if any).
     */
    get activeRow(): NavigationRow;
    /**
     * When set to `true`, you can resize columns by dragging the edges (resize handles) of their header cells
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/columns/resizing)).
     *
     * @default false
     */
    resizable: boolean;
    /**
     * When set to `true`, you can reorder columns by dragging their header cells
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/columns/reordering)).
     *
     * @default false
     */
    reorderable: boolean;
    /**
     * Determines whether the TreeList displays the loading indicator ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/data-binding/basics)).
     *
     * @default false
     */
    loading: boolean;
    /**
     * Determines whether the column menu of the columns displays ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/accessories/column-menu)).
     *
     * @default false
     */
    columnMenu: boolean | ColumnMenuSettings;
    /**
     * Determines whether the TreeList hides the header. The header is visible by default.
     *
     * The header includes column headers and the [filter row](https://www.telerik.com/kendo-angular-ui/components/treelist/filtering/filter-row).
     *
     * @default false
     */
    hideHeader: boolean;
    /**
     * Sets the name of the field that contains the unique identifier of the node.
     *
     * @default "id"
     */
    set idField(value: string);
    /**
     * Sets the TreeList selection settings.
     */
    set selectable(value: boolean | SelectableSettings);
    /**
     * Sets a callback that determines if the given row or cell is selected.
     */
    set isSelected(value: IsSelectedFn);
    /**
     * Enables the [row reordering](https://www.telerik.com/kendo-angular-ui/components/treelist/row-reordering) of the TreeList.
     *
     * @default false
     */
    set rowReorderable(value: boolean);
    get rowReorderable(): boolean;
    /**
     * Fires when the TreeList selection changes.
     */
    selectionChange: EventEmitter<SelectionChangeEvent>;
    /**
     * Fires when you modify the TreeList filter through the UI.
     * You have to handle the event and filter the data.
     */
    filterChange: EventEmitter<CompositeFilterDescriptor>;
    /**
     * Fires when the page of the TreeList changes ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/paging/basics)).
     * You have to handle the event and page the data.
     */
    pageChange: EventEmitter<PageChangeEvent>;
    /**
     * Fires when the sorting of the TreeList changes ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/sorting/basics)).
     * You have to handle the event and sort the data.
     */
    sortChange: EventEmitter<Array<SortDescriptor>>;
    /**
     * Fires when the data state of the TreeList changes.
     */
    dataStateChange: EventEmitter<DataStateChangeEvent>;
    /**
     * Fires when you click the **Edit** command button to edit a row
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing#editing-records)).
     */
    edit: EventEmitter<EditEvent>;
    /**
     * Fires when you click the **Cancel** command button to close a row
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing#cancelling-editing)).
     */
    cancel: EventEmitter<CancelEvent>;
    /**
     * Fires when you click the **Save** command button to save changes in a row
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing#saving-records)).
     */
    save: EventEmitter<SaveEvent>;
    /**
     * Fires when you click the **Remove** command button to remove a row
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing#removing-records)).
     */
    remove: EventEmitter<RemoveEvent>;
    /**
     * Fires when you click the **Add** command button to add a new row
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing#adding-records)).
     */
    add: EventEmitter<AddEvent>;
    /**
     * Fires when you leave an edited cell ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/editing-in-cell)).
     */
    cellClose: EventEmitter<CellCloseEvent>;
    /**
     * Fires when you click a cell ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/editing-in-cell)).
     */
    cellClick: EventEmitter<CellClickEvent>;
    /**
     * Fires when you click the **Export to PDF** command button.
     */
    pdfExport: EventEmitter<PDFExportEvent>;
    /**
     * Fires when you click the **Export to Excel** command button.
     */
    excelExport: EventEmitter<ExcelExportEvent>;
    /**
     * Fires when you complete the resizing of the column.
     */
    columnResize: EventEmitter<Array<ColumnResizeArgs>>;
    /**
     * Fires when you complete the reordering of the column.
     */
    columnReorder: EventEmitter<ColumnReorderEvent>;
    /**
     * Fires when you change the visibility of the columns from the column menu or column chooser.
     */
    columnVisibilityChange: EventEmitter<ColumnVisibilityChangeEvent>;
    /**
     * Fires when you change the locked state of the columns from the column menu or by reordering the columns.
     */
    columnLockedChange: EventEmitter<ColumnLockedChangeEvent>;
    /**
     * Fires when you scroll to the last record on the page and enables endless scrolling
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/scroll-modes#endless-scrolling)).
     * You have to handle the event and page the data.
     */
    scrollBottom: EventEmitter<ScrollBottomEvent>;
    /**
     * Fires when the TreeList content scrolls.
     * For performance reasons, the event triggers outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
     */
    contentScroll: EventEmitter<ContentScrollEvent>;
    /**
     * Fires when an item expands.
     */
    expandEvent: EventEmitter<ExpandEvent>;
    /**
     * Fires when an item collapses.
     */
    collapseEvent: EventEmitter<ExpandEvent>;
    /**
     * @hidden
     *
     * Emits when the expand or collapse events are fired.
     * Used by the expand directive and the Gantt component.
     */
    expandStateChange: EventEmitter<ExpandEvent>;
    /**
     * Fires when you drop the dragged row and reordering occurs.
     * Emits the [RowReorderEvent](https://www.telerik.com/kendo-angular-ui/components/treelist/api/rowreorderevent).
     */
    rowReorder: EventEmitter<RowReorderEvent>;
    /**
     * @hidden
     */
    columnOrderChange: EventEmitter<ColumnReorderEvent>;
    /**
     * @hidden
     */
    set columnsRef(columns: QueryList<ColumnBase>);
    get columnsRef(): QueryList<ColumnBase>;
    /**
     * A query list of all declared columns.
     */
    columns: QueryList<ColumnBase>;
    get dir(): string;
    hostClasses: boolean;
    get lockedClasses(): boolean;
    get virtualClasses(): boolean;
    get noScrollbarClass(): boolean;
    noRecordsTemplateChildren: QueryList<NoRecordsTemplateDirective>;
    get noRecordsTemplate(): NoRecordsTemplateDirective;
    set noRecordsTemplate(customNoRecordsTemplate: NoRecordsTemplateDirective);
    pagerTemplateChildren: QueryList<PagerTemplateDirective>;
    get pagerTemplate(): PagerTemplateDirective;
    set pagerTemplate(customPagerTemplate: PagerTemplateDirective);
    toolbarTemplateChildren: QueryList<ToolbarTemplateDirective>;
    get toolbarTemplate(): ToolbarTemplateDirective;
    set toolbarTemplate(customToolbarTemplate: ToolbarTemplateDirective);
    columnMenuTemplates: QueryList<ColumnMenuTemplateDirective>;
    lockedHeader: any;
    header: any;
    footer: QueryList<any>;
    ariaRoot: ElementRef;
    dragTargetContainer: DragTargetContainerDirective;
    dropTargetContainer: DropTargetContainerDirective;
    listComponent: ListComponent;
    get scrollbarWidth(): number;
    get headerPadding(): any;
    columnMenuOptions: any;
    columnList: ColumnList;
    columnsContainer: ColumnsContainer;
    get showLoading(): boolean;
    get showFooter(): boolean;
    get ariaRowCount(): number;
    get ariaColCount(): number;
    get ariaMultiselectable(): any;
    get navigation(): NavigationService;
    get isVirtual(): boolean;
    get isScrollable(): boolean;
    get visibleColumns(): QueryList<ColumnBase>;
    get lockedColumns(): QueryList<ColumnBase>;
    get nonLockedColumns(): QueryList<ColumnBase>;
    get lockedLeafColumns(): QueryList<ColumnBase>;
    get nonLockedLeafColumns(): QueryList<ColumnBase>;
    get leafColumns(): QueryList<ColumnBase>;
    get totalColumnLevels(): number;
    get headerColumns(): any;
    get headerLeafColumns(): any;
    get lockedWidth(): number;
    get nonLockedWidth(): number;
    get columnMenuTemplate(): TemplateRef<any>;
    get totalCount(): number;
    /**
     * Sets or gets the callback function that retrieves the child nodes for a particular node.
     */
    set fetchChildren(value: (node: any) => Observable<any[]> | any[]);
    get fetchChildren(): (node: any) => Observable<any[]> | any[];
    /**
     * Sets or gets the callback function that determines if a particular node has child nodes.
     */
    set hasChildren(value: (node: any) => boolean);
    get hasChildren(): (node: any) => boolean;
    /**
     * Sets the callback function that determines if a particular item is expanded.
     */
    set isExpanded(value: (node: any) => boolean);
    idGetter: any;
    localEditService: any;
    view: ViewCollection;
    expandIcons: boolean;
    ariaRootId: string;
    private dataChanged;
    private loadedData;
    private _fetchChildren;
    private _hasChildren;
    private subscriptions;
    private dataLoadedSubscription;
    private focusElementSubscription;
    private rowReorderSubscription;
    private detachElementEventHandlers;
    private rtl;
    private shouldGenerateColumns;
    private direction;
    private _data;
    private _sort;
    private _skip;
    private _columnsRef;
    private cachedWindowWidth;
    private _customNoRecordsTemplate;
    private _customPagerTemplate;
    private _customToolbarTemplate;
    private leafViewportColumns;
    private viewportColumns;
    private pageChangeTimeout;
    private _rowReorderable;
    private _showPagerInput;
    private _showPagerPageText;
    private _showPagerItemsText;
    constructor(supportService: ScrollbarService, wrapper: ElementRef, changeNotification: ChangeNotificationService, editService: EditService, filterService: FilterService, pdfService: PDFService, responsiveService: ResponsiveService, renderer: Renderer2, excelService: ExcelService, ngZone: NgZone, scrollSyncService: ScrollSyncService, domEvents: DomEventsService, columnResizingService: ColumnResizingService, changeDetectorRef: ChangeDetectorRef, columnReorderService: ColumnReorderService, columnInfoService: ColumnInfoService, navigationService: NavigationService, sortService: SortService, scrollRequestService: ScrollRequestService, expandStateService: ExpandStateService, optionChanges: OptionChangesService, selectionService: SelectionService, localization: LocalizationService, ctx: ContextService, rowReorderService: RowReorderService);
    /**
     * @hidden
     */
    viewFieldAccessor(): any;
    /**
     * @hidden
     */
    onDataChange(): void;
    ngOnChanges(changes: {
        [propertyName: string]: SimpleChange;
    }): void;
    ngAfterViewInit(): void;
    ngAfterContentChecked(): void;
    ngAfterContentInit(): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    handleReorderEvents(ev: any, evType: string): void;
    /**
     * @hidden
     */
    getDefaultSelectors(type: string): string;
    /**
     * @hidden
     */
    treeListData: DragTargetDataFn;
    /**
     * @hidden
     */
    getHintSettings(setting: string): any;
    /**
     * @hidden
     */
    get hintText(): string;
    /**
     * @hidden
     */
    attachScrollSync(): void;
    /**
     * Switches the specified table row to edit mode ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing#editing-records)).
     *
     * @param dataItem The data item that you will edit.
     * @param group - The [`FormGroup`](link:site.data.urls.angular['formgroupapi'])
     * that describes the edit form.
     * @param options Additional options. Use `skipFocus` to determine if the edit element of the row should receive focus.
     *
     * @default false
     */
    editRow(dataItem: any, group?: any, options?: {
        [skipFocus: string]: boolean;
    }): void;
    /**
     * Closes the editor for a given row ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing#cancelling-editing)).
     *
     * @param dataItem The data item that you will switch out of edit mode.
     * @param isNew Determines whether the data item is new.
     */
    closeRow(dataItem: any, isNew: boolean): void;
    /**
     * Creates a new row editor ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/editing/inline-editing#adding-records)).
     *
     * @param group The [`FormGroup`](link:site.data.urls.angular['formgroupapi']) that describes
     * the edit form. If called with a data item, it builds the `FormGroup` from the data item fields.
     */
    addRow(group: any, parent?: any): void;
    /**
     * Puts the cell that you specify by the table row and column in edit mode.
     *
     * @param dataItem The data item that you will edit.
     * @param column The leaf column index, or the field name or the column instance that should be edited.
     * @param group The [`FormGroup`](link:site.data.urls.angular['formgroupapi'])
     * that describes the edit form.
     */
    editCell(dataItem: any, column: number | string | any, group?: any): void;
    /**
     * Closes the current cell in edit mode and fires
     * the [`cellClose`](https://www.telerik.com/kendo-angular-ui/components/treelist/api/treelistcomponent#cellclose) event.
     *
     * @return  {boolean} A Boolean value that indicates whether the edited cell closed.
     * A `false` value indicates that the [`cellClose`](https://www.telerik.com/kendo-angular-ui/components/treelist/api/treelistcomponent#cellclose) event was prevented.
     */
    closeCell(): boolean;
    /**
     * Closes the current cell in edit mode.
     */
    cancelCell(): void;
    /**
     * Gets a flag that indicates if a row or a cell is currently edited.
     *
     * @return {boolean} A Boolean flag that indicates if a row or a cell is currently edited.
     */
    isEditing(): boolean;
    /**
     * Gets a flag that indicates if a cell is currently edited.
     *
     * @return {boolean} A Boolean flag that indicates if a cell is currently being edited.
     */
    isEditingCell(): boolean;
    /**
     * Starts the PDF export ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/export/pdf-export)).
     */
    saveAsPDF(): void;
    /**
     * Exports the TreeList element to a Drawing [`Group`](https://www.telerik.com/kendo-angular-ui/components/drawing/api/group) by using the `kendo-treelist-pdf` component options.
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/export/pdf-export#exporting-multiple-treelists-to-the-same-pdf)).
     *
     * @return {Promise} A promise that resolves with the Drawing `Group`.
     */
    drawPDF(): Promise<any>;
    /**
     * Starts the Excel export ([see example](https://www.telerik.com/kendo-angular-ui/components/treelist/export/excel-export)).
     */
    saveAsExcel(): void;
    /**
     * Applies the minimum possible width for the specified column,
     * so that the whole text fits without wrapping. This method expects the TreeList
     * to be resizable (set `resizable` to `true`).
     * Execute this method only
     * after the TreeList is already populated with data. [See example](https://www.telerik.com/kendo-angular-ui/components/treelist/columns/resizing#auto-fitting-the-content).
     */
    autoFitColumn(column: ColumnBase): void;
    /**
     * Adjusts the width of the specified columns to fit the entire content, including headers, without wrapping.
     * If you do not specify columns, `autoFitColumns` applies to all columns.
     *
     * This method requires the TreeList to be resizable (set `resizable` to `true`).
     * [See example](https://www.telerik.com/kendo-angular-ui/components/treelist/columns/resizing#auto-fitting-the-content).
     */
    autoFitColumns(columns?: Array<ColumnBase> | QueryList<ColumnBase>): void;
    /**
     * @hidden
     */
    notifyPageChange(source: string, event: any): void;
    /**
     * @hidden
     */
    handlePagerVisibilityChange(prop: string, ev: any): void;
    /**
     * @hidden
     */
    messageFor(token: string): string;
    /**
     * @hidden
     */
    notifyScrollBottom(): void;
    /**
     * @hidden
     */
    focusEditElement(containerSelector: () => string): void;
    /**
     * Focuses the last active or the first cell of the TreeList.
     *
     * @returns {NavigationCell} The focused cell.
     */
    focus(): NavigationCell;
    /**
     * Focuses the cell with the specified row and column index.
     *
     * The row index is based on the logical structure of the TreeList and does not correspond to the data item index.
     * The row indexing is absolute and does not change with paging.
     * Header rows are included, starting at index 0.
     *
     * If the TreeList is configured for scrolling, including virtual scrolling, the scroll position updates.
     * If the row is not present on the current page, the method has no effect.
     *
     * @param rowIndex - The logical row index to focus. The top header row has an index 0.
     * @param colIndex - The column index to focus.
     * @returns {NavigationCell} The focused cell.
     *
     */
    focusCell(rowIndex: number, colIndex: number): NavigationCell;
    /**
     * Focuses the next cell, optionally wrapping to the next row.
     *
     * @param wrap A Boolean value that indicates if the focus moves to the next row.
     * @return {NavigationCell} The focused cell. If the focus is already on the last cell, returns `null`.
     *
     * @default true
     */
    focusNextCell(wrap?: boolean): NavigationCell;
    /**
     * Focuses the previous cell. Optionally wraps to the previous row.
     *
     * @param wrap A Boolean value that indicates if the focus moves to the next row.
     * @return {NavigationCell} The focused cell. If the focus is already on the first cell, returns `null`.
     *
     * @default true
     */
    focusPrevCell(wrap?: boolean): NavigationCell;
    /**
     * Scrolls to the specified row and column.
     */
    scrollTo(request: ScrollRequest): void;
    /**
     * Changes the position of the specified column.
     * The reordering of columns operates only on the level
     * that the source column infers.
     * For the `reorderColumn` method to work properly,
     * the `source` column has to be visible.
     *
     * @param source The column whose position you will change.
     * @param destIndex The new position of the column.
     * @param options Additional options.
     */
    reorderColumn(source: ColumnBase, destIndex: number, options?: ColumnReorderConfig): void;
    /**
     * Clears the already loaded children for the data item so that the TreeList fetches them again the next time it renders.
     */
    reload(dataItem: any, reloadChildren?: boolean): void;
    /**
     * Updates the state of the current view without reloading the data.
     *
     * Checks all currently rendered items for changes and
     * triggers re-evaluation of the [isExpanded](#isexpanded) and
     * [isSelected](#isSelected) callbacks.
     */
    updateView(): void;
    /**
     * Expands the row for the specified data item.
     */
    expand(dataItem: any): void;
    /**
     * Collapses the row for the specified data item.
     */
    collapse(dataItem: any): void;
    /**
     * @hidden
     */
    private reorder;
    private updateColumnIndices;
    private updateIndicesForLevel;
    private allColumnsForLevel;
    private setEditFocus;
    private columnInstance;
    private verifySettings;
    private autoGenerateColumns;
    private attachStateChangesEmitter;
    private attachEditHandlers;
    private emitCRUDEvent;
    private attachDomEventHandlers;
    private attachElementEventHandlers;
    private matchesMedia;
    private resizeCheck;
    private emitPDFExportEvent;
    private syncHeaderHeight;
    private columnsContainerChange;
    private handleColumnResize;
    private notifyResize;
    private assertNavigable;
    private _rowClass;
    private navigationMetadata;
    private updateNavigationMetadata;
    private applyAutoSize;
    private onColumnRangeChange;
    private dataLoaded;
    private unsubscribeDataLoaded;
    private loadColumns;
    private notifyReorderContainers;
    static ɵfac: i0.ɵɵFactoryDeclaration<TreeListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TreeListComponent, "kendo-treelist", ["kendoTreeList"], { "ariaLabel": { "alias": "aria-label"; "required": false; }; "data": { "alias": "data"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "height": { "alias": "height"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "scrollable": { "alias": "scrollable"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "filter": { "alias": "filter"; "required": false; }; "virtualColumns": { "alias": "virtualColumns"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "sortable": { "alias": "sortable"; "required": false; }; "pageable": { "alias": "pageable"; "required": false; }; "navigable": { "alias": "navigable"; "required": false; }; "autoSize": { "alias": "autoSize"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "reorderable": { "alias": "reorderable"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "columnMenu": { "alias": "columnMenu"; "required": false; }; "hideHeader": { "alias": "hideHeader"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "selectable": { "alias": "selectable"; "required": false; }; "isSelected": { "alias": "isSelected"; "required": false; }; "rowReorderable": { "alias": "rowReorderable"; "required": false; }; "columnsRef": { "alias": "columns"; "required": false; }; "fetchChildren": { "alias": "fetchChildren"; "required": false; }; "hasChildren": { "alias": "hasChildren"; "required": false; }; "isExpanded": { "alias": "isExpanded"; "required": false; }; }, { "selectionChange": "selectionChange"; "filterChange": "filterChange"; "pageChange": "pageChange"; "sortChange": "sortChange"; "dataStateChange": "dataStateChange"; "edit": "edit"; "cancel": "cancel"; "save": "save"; "remove": "remove"; "add": "add"; "cellClose": "cellClose"; "cellClick": "cellClick"; "pdfExport": "pdfExport"; "excelExport": "excelExport"; "columnResize": "columnResize"; "columnReorder": "columnReorder"; "columnVisibilityChange": "columnVisibilityChange"; "columnLockedChange": "columnLockedChange"; "scrollBottom": "scrollBottom"; "contentScroll": "contentScroll"; "expandEvent": "expand"; "collapseEvent": "collapse"; "expandStateChange": "expandStateChange"; "rowReorder": "rowReorder"; }, ["columns", "noRecordsTemplateChildren", "pagerTemplateChildren", "toolbarTemplateChildren", "columnMenuTemplates"], ["kendo-toolbar"], true, never>;
}
