import { OnChanges, SimpleChanges } from '@angular/core';
import { Table } from 'primeng/table';
import { CustomAction } from './models';
import { Column } from '../table-column/models';
import { TieredMenuItemData } from '@seniorsistemas/angular-components/tiered-menu';
import * as i0 from "@angular/core";
type RowValueFormatOption = {
    value?: number;
    options?: {
        numberFormatOptions?: Intl.NumberFormatOptions;
    };
};
export declare class TablePagingComponent implements OnChanges {
    private readonly translate;
    private readonly hostProjectConfigs;
    totalRecords: number;
    exportFileName?: string;
    table: Table;
    exportable: boolean;
    enableExportSelectedRecords: boolean;
    customActions?: CustomAction[];
    loadAllRecords?: () => Promise<any[]>;
    loadCurrentPageRecords?: () => any[];
    loadSelectedRecords?: () => any[];
    totalRecordsText: string;
    private readonly localeService;
    ngOnChanges(changes: SimpleChanges): void;
    private getTranslatePrefix;
    getTooltipText(): any;
    getActions(): TieredMenuItemData[];
    private validateComponent;
    getColumnsToExport(): any[];
    private getCurrentPageRowsToExport;
    private getSelectedRowsToExport;
    private getPropertyValue;
    private setPropertyValue;
    private recursionSetValue;
    mapColumnsTranslations(columns: any[], rows: any[]): any[];
    mapCustomExport(columns: any[], rows: any[]): any[];
    private translateValue;
    private convertToSnakeCase;
    private getExportFileName;
    exportCurrentPage(): void;
    exportSelectedRecords(): void;
    exportAllRecords(): Promise<void>;
    /**
     * The purpose of this method is to map values
     * from the TableColumnsComponent, which uses the numberFormatOptions
     * field, along with rows that have a custom numberFormatOptions,
     * to ensure the correct values are exported by the TablePagingComponent.
     *
     * @returns Returns the correctly mapped tableData.
     */
    mapNumberFormatOptionsExport(columns: Partial<Column>[], tableData: {
        [key: string]: RowValueFormatOption | number | string | null | undefined;
    }[]): {
        [key: string]: string | number | RowValueFormatOption | null | undefined;
    }[];
    static ɵfac: i0.ɵɵFactoryDeclaration<TablePagingComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TablePagingComponent, "s-table-paging", never, { "totalRecords": { "alias": "totalRecords"; "required": false; }; "exportFileName": { "alias": "exportFileName"; "required": false; }; "table": { "alias": "table"; "required": false; }; "exportable": { "alias": "exportable"; "required": false; }; "enableExportSelectedRecords": { "alias": "enableExportSelectedRecords"; "required": false; }; "customActions": { "alias": "customActions"; "required": false; }; "loadAllRecords": { "alias": "loadAllRecords"; "required": false; }; "loadCurrentPageRecords": { "alias": "loadCurrentPageRecords"; "required": false; }; "loadSelectedRecords": { "alias": "loadSelectedRecords"; "required": false; }; }, {}, never, never, false, never>;
}
export {};
