import { ComputedRef } from 'vue';
import FilteredActions from '../actions/filtered-actions';
import IndexedArray from '../classes/indexed-array';
import TableColumn from './definitions/column';
import TableFilterRow from './definitions/filterrow';
import { ResponsiveLayout, ResponsiveLayouts } from './definitions/responsive-layout';
import TableRow from './definitions/row';
import TableRows from './definitions/rows';
import { DfTable } from './namespace';
export interface TableBasePropsInterface {
    pkName: string;
    title: string;
    columns: TableColumn[];
    responsiveTableLayouts: DfTable.ResponsiveTableLayoutsDefinition | null;
    columnDefs: object;
    rows: TableRows;
    loading: boolean;
    actions: FilteredActions;
    filterDefinition: TableFilterRow | null;
    rowSelect: boolean;
}
export declare function useTableBase(props: TableBasePropsInterface): {
    uniqueId: string;
    container: import("vue").Ref<any>;
    renderedColumns: ComputedRef<IndexedArray<TableColumn>>;
    containerWidth: import("vue").Ref<number>;
    responsiveLayouts: ComputedRef<ResponsiveLayouts>;
    responsiveLayout: ComputedRef<ResponsiveLayout>;
    responsiveLayoutWidth: ComputedRef<number>;
    responsiveColumns: ComputedRef<IndexedArray<TableColumn>>;
    theadRowData: ComputedRef<TableRow>;
    onMeasure: (refName: string, maxWidth: number) => void;
};
//# sourceMappingURL=table.d.ts.map