/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, QueryList, ElementRef, SimpleChange, ChangeDetectorRef, NgZone, Renderer2 } from '@angular/core';
import { AfterViewInit, OnChanges, OnDestroy } from '@angular/core';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { ListItemDirective } from './list-item.directive';
import { ItemTemplateDirective } from './templates/item-template.directive';
import { GroupTemplateDirective } from './templates/group-template.directive';
import { FixedGroupTemplateDirective } from './templates/fixed-group-template.directive';
import { SelectionService } from './selection/selection.service';
import { DisabledItemsService } from './disabled-items/disabled-items.service';
import { DataService } from './data.service';
import { VirtualizationSettings } from './models/virtualization-settings';
import { PageChangeEvent } from './models/page-change-event';
import { MultiSelectCheckableSettings } from './models/checkboxes-settings';
import { DropDownSize } from './models/size';
import { DropDownRounded } from './models/rounded';
import { ListType } from './models/list-type';
import { NavigationAction } from './navigation/navigation-action';
import { CustomItemTemplateDirective } from './templates/custom-item-template.directive';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class ListComponent implements OnChanges, OnDestroy, AfterViewInit {
    dataService: DataService;
    wrapper: ElementRef<HTMLElement>;
    private selectionService;
    private disabledItemsService;
    private cdr;
    private zone;
    private renderer;
    private localization;
    selected: any[];
    focused: number;
    textField: string;
    valueField: string;
    height: number;
    template: ItemTemplateDirective;
    groupTemplate: GroupTemplateDirective;
    fixedGroupTemplate: FixedGroupTemplateDirective;
    show: boolean;
    id: string;
    optionPrefix: string;
    multipleSelection: boolean;
    virtual: VirtualizationSettings;
    type: ListType;
    checkboxes: MultiSelectCheckableSettings;
    ariaLive: string;
    isMultiselect: boolean;
    isActionSheetExpanded: boolean;
    showStickyHeader: boolean;
    rowWidth: number;
    customItemTemplate: CustomItemTemplateDirective;
    text: string;
    allowCustom: boolean;
    defaultItem: string;
    set data(data: any[]);
    get data(): any[];
    set size(size: DropDownSize);
    get size(): DropDownSize;
    groupedData: any[];
    rounded: DropDownRounded;
    onClick: EventEmitter<any>;
    pageChange: EventEmitter<PageChangeEvent>;
    listResize: EventEmitter<boolean>;
    popupListScroll: EventEmitter<any>;
    items: QueryList<ListItemDirective>;
    content: ElementRef<HTMLElement>;
    list: ElementRef<HTMLElement>;
    virtualContainer: ElementRef<HTMLElement>;
    currentGroup: string;
    startFrom: number;
    lastLoaded: number;
    lastScrollTop: number;
    listContentClass: string;
    listClass: string;
    listItemClass: string;
    listVirtualClass: string;
    listGroupStickyHeaderClass: string;
    listGroupStickyHeaderTextClass: string;
    listGroupItemClass: string;
    listGroupItemTextClass: string;
    private scrollToFocused;
    private _data;
    private scrollSubscription;
    private selectSubscription;
    private _size;
    get pageSize(): number;
    get scrollHeight(): number;
    get overflowY(): string;
    /**
     * @hidden
     */
    get useCustomValueText(): string;
    /**
     * @hidden
     */
    get checkboxClasses(): any;
    constructor(dataService: DataService, wrapper: ElementRef<HTMLElement>, selectionService: SelectionService, disabledItemsService: DisabledItemsService, cdr: ChangeDetectorRef, zone: NgZone, renderer: Renderer2, localization: LocalizationService);
    ngOnChanges(changes: {
        [propertyName: string]: SimpleChange;
    }): void;
    ngAfterViewInit(): void;
    ngAfterViewChecked(): void;
    ngOnDestroy(): void;
    onCheckedChange(e: Event, index: number): void;
    prepareClasses(): void;
    isChecked(index: number): boolean;
    firstVisibleItem(): any;
    findCurrentGroup(): void;
    prefetchData(): void;
    changePage(start: number): void;
    index(groupIndex: number, itemIndex: number): number;
    getText(dataItem: any): any;
    getValue(dataItem: any): any;
    generateGroupId(dataItem: any): string;
    isDisabled(index: number): boolean;
    isAltRow(index: number): boolean;
    scrollToItem(index: number): void;
    scrollWithOnePage(action: NavigationAction): void;
    scrollToIndex(index: number): void;
    scroll(item: ElementRef<HTMLElement>): void;
    /**
     * Indicates whether a scrollbar is currently rendered in the list.
     */
    hasScrollbar(): boolean;
    isItemSelected(index: number): boolean;
    get isDisabledDefaultItem(): boolean;
    getDefaultItemText(): any;
    /**
     * Sets the list's content overflow (hides/shows scrollbar)
     */
    private setOverflow;
    /**
     * Indicates whether the scrollbar should be visible in virtual mode.
     */
    private hasVirtualScrollbar;
    private positionItems;
    private setComponentClasses;
    static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "kendo-list", never, { "selected": { "alias": "selected"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "textField": { "alias": "textField"; "required": false; }; "valueField": { "alias": "valueField"; "required": false; }; "height": { "alias": "height"; "required": false; }; "template": { "alias": "template"; "required": false; }; "groupTemplate": { "alias": "groupTemplate"; "required": false; }; "fixedGroupTemplate": { "alias": "fixedGroupTemplate"; "required": false; }; "show": { "alias": "show"; "required": false; }; "id": { "alias": "id"; "required": false; }; "optionPrefix": { "alias": "optionPrefix"; "required": false; }; "multipleSelection": { "alias": "multipleSelection"; "required": false; }; "virtual": { "alias": "virtual"; "required": false; }; "type": { "alias": "type"; "required": false; }; "checkboxes": { "alias": "checkboxes"; "required": false; }; "ariaLive": { "alias": "ariaLive"; "required": false; }; "isMultiselect": { "alias": "isMultiselect"; "required": false; }; "isActionSheetExpanded": { "alias": "isActionSheetExpanded"; "required": false; }; "showStickyHeader": { "alias": "showStickyHeader"; "required": false; }; "rowWidth": { "alias": "rowWidth"; "required": false; }; "customItemTemplate": { "alias": "customItemTemplate"; "required": false; }; "text": { "alias": "text"; "required": false; }; "allowCustom": { "alias": "allowCustom"; "required": false; }; "defaultItem": { "alias": "defaultItem"; "required": false; }; "data": { "alias": "data"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, { "onClick": "onClick"; "pageChange": "pageChange"; "listResize": "listResize"; "popupListScroll": "popupListScroll"; }, never, never, true, never>;
}
