import { SortingState, TableOptions as ReactTableOptions, Table as ReactTable, ColumnDef } from "@tanstack/react-table"; import { PaginationProps } from "../context"; import { Fetcher } from "../fetcher/index"; import { FilterComponentProps } from "../renderer/filtering"; import { Props as TableusProps } from "../renderer/index"; import { FilterDefinition, FilteringState, PaginationState } from "./types"; export interface PaginationTableConfig { pagination: boolean; showPagination?: "top" | "bottom" | "both" | "none"; pageSize?: number; pageSizeSelect?: number[]; } export type TableConfig = PaginationTableConfig & { sorting: boolean; rowSelect: boolean; syncQueryParams: boolean; filterDefinitions: FilterDefinition[]; }; export interface TableOptions> { columns: ColumnDef[]; fetcher: Fetcher; key: string; config?: Partial; reactTableOptions?: Partial>; } export interface TableStateInstance> { tableusProps: TableusProps; selectedRows: any[]; reactTable: ReactTable; filterComponentProps: Omit; paginationComponentProps: PaginationProps; } export declare function useTableus>(tableOptions: TableOptions): { tableusProps: { reactTable: ReactTable; tableConfig: TableConfig; fetcherState: import("../fetcher/index").FetcherState; tableState: { pagination: PaginationState; sorting: SortingState; filters: FilteringState; }; stateFunctions: { setPagination: import("react").Dispatch>; setSorting: import("react").Dispatch>; setFilters: import("react").Dispatch>; }; }; filterComponentProps: { filters: FilteringState; setFilters: import("react").Dispatch>; filterDefinitions: FilterDefinition[]; }; paginationProps: PaginationProps; selectedRows: never[]; reactTable: ReactTable; }; //# sourceMappingURL=index.d.ts.map