import { Nullable } from '../../../../types/general';
import { VegaTableDataSourceItem, VegaTableSortCompareFunction, VegaTableSorterType, VegaTableSortOrderType } from '../../interface';
/**
 * Vega Table Sorter
 * This is a helper class for sorting table data based on defined columns to be sorted
 * Supports multi-column sorting
 */
export declare class VegaTableSorter {
  private prop;
  private order;
  private sorter;
  constructor(prop: string, order: VegaTableSortOrderType, sorter: VegaTableSortCompareFunction);
  /**
   * Sort utility
   *
   * @param {VegaTableDataSourceItem} a column value
   * @param {VegaTableDataSourceItem} b column value
   * @returns {Nullable<number>} compare result
   */
  sort(a: VegaTableDataSourceItem, b: VegaTableDataSourceItem): Nullable<number>;
  /**
   * Get params from sorter object for external use
   *
   * @returns {VegaTableSorterType} sorter prop and order
   */
  toExternalFormat(): VegaTableSorterType;
  /**
   * Get sorter order value
   *
   * @returns {VegaTableSortOrderType} sorter order
   */
  getSortOrder(): VegaTableSortOrderType;
}
