import { Ref, ComputedRef } from 'vue-demi';
export declare type SortDirection = 'ascend' | 'descend';
export interface Page {
    index: number;
    size: number;
}
export interface Sort {
    key: string;
    direction: SortDirection;
    compareFn: (a: any, b: any) => number;
}
export interface Search {
    text: string;
    isReg: boolean;
    keys: string[];
}
export interface DefaultParams {
    page?: Partial<Page>;
    search?: Partial<Search>;
    sort?: Partial<Sort>;
}
export interface Pramas {
    page: Page;
    search: Search;
    sort: Sort;
}
export declare function useTable<T>(data: Ref<T[]> | T[], options?: DefaultParams): {
    data: Ref<T[]>;
    page: Ref<Page>;
    sort: Ref<Sort>;
    search: Ref<Search>;
    pagedData: ComputedRef<T[]>;
    total: ComputedRef<number>;
};
