import { BglFormSchemaT } from '../..';
import { MaybeRefOrGetter } from 'vue';
import { SortDirectionsT } from '../../types/TableSchema';
export interface UseTableDataOptions<T> {
    data: MaybeRefOrGetter<T[]>;
    schema?: MaybeRefOrGetter<BglFormSchemaT<T> | undefined>;
    columns?: MaybeRefOrGetter<string[] | undefined>;
    useServerSort?: MaybeRefOrGetter<boolean | undefined>;
    onSort?: (field: string, direction: SortDirectionsT) => void;
}
interface TransformedDataBase {
    [key: `_transformed_${string}`]: any;
    [key: `_slot_${string}`]: boolean;
    [key: `_src_${string}`]: boolean;
    [key: `_original_${string}`]: any;
}
type TransformedData<TransDataT> = TransDataT & TransformedDataBase;
export declare function useTableData<T extends {
    [key: string]: any;
}>(options: UseTableDataOptions<T>): {
    computedSchema: import('vue').ComputedRef<any[]>;
    computedData: import('vue').ComputedRef<TransformedData<T>[]>;
    transform: (rowData: T) => TransformedData<T>;
    sortField: import('vue').ComputedRef<string>;
    sortDirection: import('vue').ComputedRef<SortDirectionsT>;
    toggleSort: (fieldname: string) => void;
    cleanTransformedData: <T_1 extends {
        [key: string]: any;
    }>(data: TransformedData<T_1>) => T_1;
    schemaState: import('vue').ComputedRef<"error" | "loading" | "loaded">;
};
export {};
//# sourceMappingURL=useTableData.d.ts.map