import type { ITable, ITableOptions } from '../../../components/ActindoDataTable/models/table';
/**
 * Representing Headless Table
 * @template T
 * @param {object} options
 * @param emit
 * @param {string | T[] | IDataFetcher<T>} options.data - Table data source
 * @param {object} [options.customQuery] - Additional query, will be sent on every request
 * @param {IColumnOption[]} options.columns - Column configuration array
 * @param {Partial<IColumnOption>} [options.defaultColumn] - Common column configuration, will be added to every column
 * @param {string[]} [options.columnsOrder] - Ordered list of columns IDs
 * @param {SORT_TYPE} [options.sortType] - Sorting type (blocked/by single column/by multi columns)
 * @param {IIsMultiSortEvent} [options.isMultiSortEvent='shift + click'] - Determines whether the current event trigger a multi-sorting (hold 'shift' key by default)
 * @param {number} [options.pageSize] - Amount of rows per page
 * @return {ITable} Table instance
 */
export declare const useTable: <T extends object = object>(options: ITableOptions, emit: (event: "refresh") => void) => ITable<T>;
