import { TableResponse } from '@carto/api-client';
import { ModelQueryFactory } from './utils/create-model';
import { ModelComponentProps, ModelHookResponse, ModelProps, TableWidgetProps } from './types';
export declare const getTable: ModelQueryFactory<TableWidgetProps, TableResponse>;
/**
 * `useTable` is a hook that retrieves tabular data with pagination support for displaying detailed records.
 * `TableModel` is the render-props component equivalent.
 *
 * @example
 * ```tsx
 * <TableModel
 *   accessToken={token}
 *   sourceId="my_source"
 *   widgetProps={{ columns: ['name', 'revenue', 'city'], sortBy: 'revenue', sortDirection: 'desc' }}
 * >
 *   {({ data }) => <DataGrid rows={data?.rows} />}
 * </TableModel>
 * ```
 */
declare function useTable<P extends ModelProps<TableWidgetProps, TableResponse>>(props: P): ModelHookResponse<P, TableResponse>;
declare function TableModel<P extends ModelProps<TableWidgetProps, TableResponse>>(props: ModelComponentProps<TableWidgetProps, TableResponse, P>): React.ReactElement;
export { useTable, TableModel };
