import { Attribute, Data, DataSource, Filter, FilterRelationsJaql, Measure } from '@sisense/sdk-data'; import { TableDataOptionsInternal } from '../../../core/chart-data-options/types'; import { DataColumnNamesMapping } from '../../../core/chart-data-options/validate-data-options'; type UseDataProps = { dataSet: Data | DataSource | undefined; dataOptions: TableDataOptionsInternal | null; dataColumnNamesMapping: DataColumnNamesMapping; filters: Filter[] | undefined; filterRelations: FilterRelationsJaql | undefined; count: number; offset: number; /** * Whether to additionally request the query's total row count, ignoring * `count`/`offset` paging. See {@link TableProps.includeTotalRows}. */ includeTotalRows?: boolean; }; /** * Represents the absolute row range covered by `data` for a query-backed (`DataSource`) table. * * `start` is inclusive. `end` is exclusive. * @internal */ export type LoadedRowRange = { start: number; end: number; }; type UseTableDataResult = { data: Data | null; dataOptions: TableDataOptionsInternal | null; dataColumnNamesMapping: DataColumnNamesMapping; /** `null` for static (already fully in-memory) data. */ loadedRowRange: LoadedRowRange | null; /** * Total row count of the table's query, ignoring `count`/`offset` paging. * Populated only when `includeTotalRows` is enabled and the Sisense instance * supports the row count API; `undefined` otherwise. */ rowCount?: number; }; export declare const getTableAttributesAndMeasures: (dataOptions: TableDataOptionsInternal) => { attributes: Attribute[]; measures: Measure[]; }; export declare const useTableData: ({ dataSet, dataOptions: originalDataOptions, dataColumnNamesMapping: originalDataColumnNamesMapping, filters, filterRelations, count, offset, includeTotalRows, }: UseDataProps) => UseTableDataResult; export {};