/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ChangeDetectorRef, AfterViewInit, ElementRef, OnDestroy, NgZone } from '@angular/core';
import { PagerElementComponent } from './pager-element.component';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { PagerContextService, PagerContextChanges } from "./pager-context.service";
import { PageSizeItem } from './pagesize-item.interface';
import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
import { PagerSize } from './common/pager-size';
import { AdaptiveMode } from '../util';
import * as i0 from "@angular/core";
/**
 * Represents the Kendo UI Pager Page Sizes component for Angular. Displays a drop-down list for the page size selection ([see example]({% slug pager_settings %})).
 *
 * @example
 * ```html
 * <kendo-pager [skip]="skip" [pageSize]="pageSize" [total]="total">
 *   <ng-template kendoPagerTemplate>
 *     <kendo-pager-page-sizes [pageSizes]="[10, 20, 50]"></kendo-pager-page-sizes>
 *   </ng-template>
 * </kendo-pager>
 * ```
 */
export declare class PagerPageSizesComponent extends PagerElementComponent implements AfterViewInit, OnDestroy {
    protected pagerContext: PagerContextService;
    private element;
    private ngZone;
    private dropDownList;
    private _showItemsText;
    /**
     * Controls the visibility of the page text label.
     * @hidden
     */
    get showItemsText(): boolean;
    set showItemsText(value: boolean);
    /**
     * Specifies the page sizes collection. You can include numbers and [`PageSizeItem`]({% slug api_pager_pagesizeitem %}) objects.
     *
     * @example
     * ```html
     * <kendo-pager [skip]="0" [pageSize]="10" [total]="100">
     *   <ng-template kendoPagerTemplate>
     *     <kendo-pager-page-sizes [pageSizes]="[5, 10, 20, { text: 'All', value: 'all' }]"></kendo-pager-page-sizes>
     *   </ng-template>
     * </kendo-pager>
     * ```
     */
    set pageSizes(pageSizes: PageSizeItem[] | number[]);
    /**
     * Specifies the padding of the DropDownList component.
     *
     * @default 'medium'
     */
    size: PagerSize;
    /**
     * Specifies the adaptive mode of the internal `DropDownList` component.
     *
     * @default 'auto'
     */
    adaptiveMode: AdaptiveMode;
    /**
     * @hidden
     *
     * @readonly
     */
    get classes(): boolean;
    _pageSizes: Array<PageSizeItem>;
    constructor(localization: LocalizationService, cd: ChangeDetectorRef, pagerContext: PagerContextService, element: ElementRef, ngZone: NgZone);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    pageSizeChange(value: any, dropdownlist: DropDownListComponent): void;
    protected onChanges({ total, skip, pageSize }: PagerContextChanges): void;
    private keyDownHandler;
    static ɵfac: i0.ɵɵFactoryDeclaration<PagerPageSizesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PagerPageSizesComponent, "kendo-datapager-page-sizes, kendo-pager-page-sizes", never, { "showItemsText": { "alias": "showItemsText"; "required": false; }; "pageSizes": { "alias": "pageSizes"; "required": false; }; "size": { "alias": "size"; "required": false; }; "adaptiveMode": { "alias": "adaptiveMode"; "required": false; }; }, {}, never, never, true, never>;
}
