/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnInit, EventEmitter, ElementRef, OnDestroy, AfterViewInit, SimpleChange, OnChanges, InjectionToken, QueryList, NgZone, Renderer2, TrackByFunction, ChangeDetectorRef } from '@angular/core';
import { Observable } from 'rxjs';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { ScrollerService, Action } from '../scrolling/scroller.service';
import { ScrollRequestService } from '../scrolling/scroll-request.service';
import { ColumnBase } from '../columns/column-base';
import { ColumnsContainer } from '../columns/columns-container';
import { ChangeNotificationService } from '../data/change-notification.service';
import { NoRecordsTemplateDirective } from './no-records-template.directive';
import { SuspendService } from '../scrolling/suspend.service';
import { RowClassFn } from './common/row-class';
import { ScrollSyncService } from "../scrolling/scroll-sync.service";
import { ResizeService } from "../layout/resize.service";
import { ResizeSensorComponent } from "@progress/kendo-angular-common";
import { ScrollbarService } from '@progress/kendo-angular-common';
import { EditService } from '../editing/edit.service';
import { NavigationService } from '../navigation/navigation.service';
import { FilterableSettings } from '../filtering/filterable';
import { ColumnResizingService } from "../column-resizing/column-resizing.service";
import { TreeListItem } from '../data/treelist-item.interface';
import { PDFService } from '../pdf/pdf.service';
import { ColumnInfoService } from '../common/column-info.service';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare const SCROLLER_FACTORY_TOKEN: InjectionToken<string>;
/**
 * @hidden
 */
export declare function DEFAULT_SCROLLER_FACTORY(observable: Observable<any>): ScrollerService;
/**
 * @hidden
 */
export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges {
    private changeNotification;
    private suspendService;
    private ngZone;
    private renderer;
    private scrollSyncService;
    private resizeService;
    private editService;
    private supportService;
    private navigationService;
    private localization;
    private columnResizingService;
    private changeDetector;
    private pdfService;
    private columnInfo;
    get hostClass(): boolean;
    get hostRole(): string;
    view: any;
    total: number;
    rowHeight: number;
    take: number;
    skip: number;
    columns: ColumnsContainer;
    noRecordsTemplate: NoRecordsTemplateDirective;
    filterable: FilterableSettings;
    rowClass: RowClassFn;
    loading: boolean;
    trackBy: TrackByFunction<TreeListItem>;
    virtualColumns: boolean;
    isVirtual: boolean;
    expandIcons: boolean;
    contentScroll: EventEmitter<any>;
    pageChange: EventEmitter<Action>;
    scrollBottom: EventEmitter<void>;
    totalHeight: number;
    columnsStartIdx: number;
    get totalWidth(): number;
    container: ElementRef;
    table: ElementRef;
    lockedContainer: ElementRef;
    lockedTable: ElementRef;
    resizeSensors: QueryList<ResizeSensorComponent>;
    private scroller;
    private subscriptions;
    private scrollerSubscription;
    private dispatcher;
    private rowHeightService;
    private skipScroll;
    private rebind;
    private containerScrollTop;
    private viewportColumns;
    private columnsEndIdx;
    private viewportColumnsWidth;
    private scrollLeft;
    get lockedLeafColumns(): QueryList<ColumnBase>;
    get nonLockedLeafColumns(): QueryList<ColumnBase>;
    get nonLockedColumnsToRender(): QueryList<ColumnBase>;
    get leafColumns(): Array<ColumnBase>;
    get lockedWidth(): number;
    get nonLockedWidth(): number;
    get isLocked(): boolean;
    private rtl;
    private columnUpdateFrame;
    private hasLockedContainer;
    constructor(scrollerFactory: any, changeNotification: ChangeNotificationService, suspendService: SuspendService, ngZone: NgZone, renderer: Renderer2, scrollSyncService: ScrollSyncService, resizeService: ResizeService, editService: EditService, supportService: ScrollbarService, navigationService: NavigationService, scrollRequestService: ScrollRequestService, localization: LocalizationService, columnResizingService: ColumnResizingService, changeDetector: ChangeDetectorRef, pdfService: PDFService, columnInfo: ColumnInfoService);
    ngOnInit(): void;
    ngOnChanges(changes: {
        [propertyName: string]: SimpleChange;
    }): void;
    ngDoCheck(): void;
    ngAfterViewInit(): void;
    ngAfterViewChecked(): void;
    syncRowsHeight(): void;
    ngOnDestroy(): void;
    init(): void;
    lockedScroll(): void;
    lockedMousewheel(args: any): void;
    lockedKeydown(args: KeyboardEvent): void;
    updateViewportColumns(range?: any): void;
    private attachContainerScroll;
    private createScroller;
    private scroll;
    private onContainerScroll;
    private handleRowSync;
    private handleRowNavigationLocked;
    private scrollToVirtualRow;
    private scrollTo;
    private resetNavigationViewport;
    private cleanupScroller;
    private initResizeService;
    private syncContainerHeight;
    private handleColumnScroll;
    private updateColumnViewport;
    private calculateViewportColumns;
    private viewportWidthChange;
    private normalizeScrollLeft;
    private elementScrollLeft;
    static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-treelist-list", never, { "view": { "alias": "view"; "required": false; }; "total": { "alias": "total"; "required": false; }; "rowHeight": { "alias": "rowHeight"; "required": false; }; "take": { "alias": "take"; "required": false; }; "skip": { "alias": "skip"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "noRecordsTemplate": { "alias": "noRecordsTemplate"; "required": false; }; "filterable": { "alias": "filterable"; "required": false; }; "rowClass": { "alias": "rowClass"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "virtualColumns": { "alias": "virtualColumns"; "required": false; }; "isVirtual": { "alias": "isVirtual"; "required": false; }; "expandIcons": { "alias": "expandIcons"; "required": false; }; }, { "contentScroll": "contentScroll"; "pageChange": "pageChange"; "scrollBottom": "scrollBottom"; }, never, never, true, never>;
}
