/**
 * This file is part of YourDLT Wallet API Bridge shared under LGPL-3.0
 * Copyright (C) 2021 Using Blockchain Ltd, Reg No.: 12658136, United Kingdom
 *
 * @package     YourDLT Wallet API Bridge
 * @author      Grégory Saive for Using Blockchain Ltd <greg@ubc.digital>
 * @license     LGPL-3.0
 */
import { TableField } from "../types/TableField";
import { TableFilteringOptions } from "../types/TableFilteringOptions";
import { TableSortingOptions } from "../types/TableSortingOptions";
/**
 * Table actions
 * @export
 * @type {TableAction}
 */
export declare type TableAction = {
    id: string;
    label: string;
    icon: string;
};
/**
 * Table service to handle tabled data
 * @export
 * @class {TableService}
 */
export declare class TableService {
    protected readonly rows: any[];
    protected readonly fields: TableField[];
    constructor(rows: any[], fields: TableField[]);
    /**
     * Return table fields to be displayed in a table header
     * @returns {TableField[]}
     */
    getTableFields(): TableField[];
    /**
     * Return table values to be displayed in a table rows
     * @returns {any}
     */
    getTableRows(): any[];
    /**
     * Filter table rows according to filtering options
     * @param {TableRowValues[]} values
     * @param {TableFilteringOptions} filterBy
     * @returns {TableRowValues[]}
     */
    filter(values: any[], filter: TableFilteringOptions): any[];
    /**
     * Sorts array values according to sorting options
     * @param {TableRowValues[]} valuesToSort
     * @param {TableSortingOptions} sortBy
     * @returns {TableRowValues[]}
     */
    sort(valuesToSort: any[], options: TableSortingOptions): any[];
}
