import * as i0 from '@angular/core';
import { ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { SymbolRegistry } from '@agorapulse/ui-symbol';

declare class PaginatorButtonComponent {
    button: ElementRef<HTMLButtonElement>;
    ariaLabel: string;
    disabled: boolean;
    pageIndex: number;
    selectedPageIndex: number;
    selectPage: EventEmitter<number>;
    focused: boolean;
    onClickHandle(pageIndex: number): void;
    onBlurHandle(): void;
    onFocusHandle(): void;
    onSpaceKeyUp(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorButtonComponent, "ap-paginator-button", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "pageIndex": { "alias": "pageIndex"; "required": false; }; "selectedPageIndex": { "alias": "selectedPageIndex"; "required": false; }; }, { "selectPage": "selectPage"; }, never, never, true, never>;
}

declare class PaginatorComponent implements OnDestroy {
    symbolRegistry: SymbolRegistry;
    readonly DEFAULT_MIDDLE_SIZE = 3;
    readonly DEFAULT_ITEM_COUNT = 0;
    readonly DEFAULT_ITEM_COUNT_PER_PAGE = 10;
    readonly DEFAULT_CURRENT_PAGE_INDEX = 0;
    readonly DEFAULT_EDGE_SIZE = 5;
    set currentPageIndex(value: number);
    get currentPageIndex(): number;
    displayGoTo: boolean;
    edgeSize: number;
    goToLabel: string;
    set itemCount(value: number);
    get itemCount(): number;
    set itemCountPerPage(value: number);
    get itemCountPerPage(): number;
    private _middleSize;
    set middleSize(value: number);
    get middleSize(): number;
    currentPageIndexChange: EventEmitter<number>;
    pageInput: string;
    pageCount: number;
    firstPageDisplayed: boolean;
    lastPageDisplayed: boolean;
    private destroy$;
    private _itemCount;
    private _itemCountPerPage;
    private _currentPageIndex;
    constructor(symbolRegistry: SymbolRegistry);
    ngOnDestroy(): void;
    onEnterKeydownPressed(): void;
    onSelectPage(pageIndex: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PaginatorComponent, "ap-paginator", never, { "currentPageIndex": { "alias": "currentPageIndex"; "required": false; }; "displayGoTo": { "alias": "displayGoTo"; "required": false; }; "edgeSize": { "alias": "edgeSize"; "required": false; }; "goToLabel": { "alias": "goToLabel"; "required": false; }; "itemCount": { "alias": "itemCount"; "required": false; }; "itemCountPerPage": { "alias": "itemCountPerPage"; "required": false; }; "middleSize": { "alias": "middleSize"; "required": false; }; }, { "currentPageIndexChange": "currentPageIndexChange"; }, never, never, true, never>;
}

export { PaginatorButtonComponent, PaginatorComponent };
