import type { ComputedRef } from "vue"; import { Ref } from "vue"; import type { PaginationProps } from '../types/pagination'; import { FetchParams, SorterResult } from '../types/table'; interface ActionType { getPaginationInfo: ComputedRef; setPagination: (info: Partial) => void; setLoading: (loading: boolean) => void; clearSelectedRowKeys: () => void; tableData: Ref; } export declare const useDataSource: (propsRef: ComputedRef, { getPaginationInfo, setPagination, setLoading, clearSelectedRowKeys, tableData, }: ActionType, emit: EmitType, fetchParams: ComputedRef) => { getDataSourceRef: ComputedRef<{ [x: string]: any; }[]>; getRowKey: ComputedRef; getAutoCreateKey: ComputedRef; pagination: Ref<{ [x: string]: any; }>; sorter: Ref<{ [x: string]: any; }>; getEvent: (type: string) => { handle: (data: any) => void; } | { handle?: undefined; }; getDataSource: >() => T[]; handleTableChange: (pagination: PaginationProps, filters: Partial>, sorter: SorterResult) => void; getRawDataSource: >() => T_1; setTableData: >(values: T_2[]) => void; fetch: (opt?: FetchParams) => any; reload: (opt?: FetchParams) => Promise; updateTableData: (index: number, key: string, value: any) => Promise<{ [x: string]: any; }>; updateTableDataRecord: (rowKey: string | number, record: Recordable) => Recordable | undefined; deleteTableDataRecord: (rowKey: string | number | string[] | number[]) => void; insertTableDataRecord: (record: Recordable, index: number) => Recordable | undefined; findTableDataRecord: (rowKey: string | number) => undefined; }; export {};