import React from 'react'; import { usePagination } from 'codekit'; import * as T from './Table.types'; interface TableContextProps extends T.TablePropsCompiled { children: React.ReactNode; } type TableSelected = T & { index: number; }; type TableSort = { item: keyof T | undefined; direction: 'asc' | 'desc' | undefined; }; type TableRender = { noDataAvailable: boolean; skeleton: boolean; data: boolean; heading: boolean; pagination: boolean; }; export interface TableContextData extends Omit, 'sort' | 'search' | 'style' | 'loading'> { props: Required>; data: DataType[]; style: T.TableStyle; pagination: Required>['pagination'] & ReturnType>; search: string; searchQuery?: string; sort: TableSort; selected: TableSelected[]; lastSelected: TableSelected; render: TableRender; loading: T.TableLoading; isSelecting: boolean; onSearch: (value: string) => void; onSort: (key: keyof DataType) => void; onSelect: (data: TableSelected) => void; onSelectAll: () => void; onEndSelecting: () => void; } export declare const TableContext: React.Context; export declare function TableProvider(props: TableContextProps): import("react/jsx-runtime").JSX.Element; export declare function useTable(): TableContextData; export {};