import { OnInit, EventEmitter, SimpleChanges, ChangeDetectorRef } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { Option } from "../dxc-select/interfaces/option.interface";
import * as i0 from "@angular/core";
export declare class DxcPaginatorComponent implements OnInit {
    private cdRef;
    /**
     * Number of the current selected page.
     */
    get currentPage(): number;
    set currentPage(value: number);
    private _currentPage;
    /**
     * Number of items per page.
     */
    get itemsPerPage(): number;
    set itemsPerPage(value: number);
    private _itemsPerPage;
    /**
     * If true, a select will be displayed with the page numbers to move through them.
     */
    showGoToPage: boolean;
    /**
     * Array of numbers representing the items per page options.
     * If undefined, the select with items per page options will not be displayed.
     */
    itemsPerPageOptions: number[];
    /**
     * Total number of items in the pages.
     */
    get totalItems(): number;
    set totalItems(value: number);
    private _totalItems;
    /**
     * Pagination actions to be rendered.
     * In case the property is not defined all actions will be rendered.
     */
    get paginationActions(): Array<"prev" | "next" | "first" | "last">;
    set paginationActions(value: Array<"prev" | "next" | "first" | "last">);
    private _paginationActions;
    /**
     * Value of the tabindex attribute.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    /**
     * This event will emit the new page when the user interacts with the page navigation
     * buttons or select. The page number will be passed as a parameter.
     */
    onGoToPage: EventEmitter<number>;
    /**
     * This event will emit in case of the user picks an option for the itemsPerPage select.
     * The value selected will be passed as a parameter.
     */
    itemsPerPageFunction: EventEmitter<number>;
    className: any;
    buttonMargin: {
        left: string;
        right: string;
    };
    totalPages: number;
    currentPageInternal: number;
    minItemsPerPage: number;
    maxItemsPerPage: number;
    selectOptions: Option[];
    totalPagesOptions: Option[];
    showFirst: boolean;
    showLast: boolean;
    showNext: boolean;
    showPrev: boolean;
    defaultInputs: BehaviorSubject<any>;
    constructor(cdRef: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onFirstHandler($event: any): void;
    onNextHandler($event: any): void;
    onPrevHandler($event: any): void;
    onLastHandler($event: any): void;
    onItemsPerPageHandler(event: any): void;
    goToPageHandler(event: any): void;
    private setButtonVisibility;
    private calculateInternalValues;
    disabledFirstBtn(): boolean;
    disabledLastBtn(): boolean;
    getDynamicStyle(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcPaginatorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcPaginatorComponent, "dxc-paginator", never, { "currentPage": "currentPage"; "itemsPerPage": "itemsPerPage"; "showGoToPage": "showGoToPage"; "itemsPerPageOptions": "itemsPerPageOptions"; "totalItems": "totalItems"; "paginationActions": "paginationActions"; "tabIndexValue": "tabIndexValue"; }, { "onGoToPage": "onGoToPage"; "itemsPerPageFunction": "itemsPerPageFunction"; }, never, never>;
}
//# sourceMappingURL=dxc-paginator.component.d.ts.map