import { TTableState } from '../lib/hooks/use-table-states';
import { TTableColumn } from './col.types';
import { TTableFilterParsers, TTableQuickFilter } from './filter.types';
export type TTableItem = Record<string, unknown>;
export type TTableProps<TItem extends TTableItem, T extends readonly TTableColumn<TItem>[], Q extends TTableQuickFilter[]> = {
    columns: readonly TTableColumn<TItem>[];
    data: TItem[];
    isLoading?: boolean;
    isNoData?: boolean;
    filterParsers?: TTableFilterParsers;
    quickFilters?: TTableQuickFilter[];
} & TTableState<TItem, T, Q> & TTableDrillingProps;
export type TTableContainerProps<TItem extends TTableItem> = {
    columns: readonly TTableColumn<TItem>[];
    data: TItem[];
    isLoading?: boolean;
    isNoData: boolean;
    totalPages: number;
    nextPage?: () => void;
    pagination: {
        pageIndex: number;
        pageSize: number;
    };
    setPagination: (data: {
        pageIndex: number;
        pageSize: number;
    }) => void;
    filterParsers: TTableFilterParsers;
} & TTableDrillingProps;
export type TTableDrillingProps = {
    isFirstSummaryRow?: boolean;
};
//# sourceMappingURL=table.types.d.ts.map