import type { ComputedRef, Ref } from 'vue'; import type { PaginationProps } from '../types/pagination'; import type { BasicTableProps, FetchParams, SorterResult, TableEmitType } from '../types/table'; declare type Recordable = Record; interface ComponentElRef { $el: T; } declare type ComponentRef = ComponentElRef | null; interface ActionType { getPaginationInfo: ComputedRef; setPagination: (info: Partial) => void; setLoading: (loading: boolean) => void; getFieldsValue: () => Recordable; clearSelectedRowKeys: () => void; tableData: Ref; } export declare function useDataSource(tableElRef: Ref, propsRef: ComputedRef, { getPaginationInfo, setPagination, setLoading, getFieldsValue, clearSelectedRowKeys, tableData, }: ActionType, emit: TableEmitType, filterRef: any): { getDataSourceRef: ComputedRef[]>; getDataSource: >() => T[]; getRawDataSource: >() => T_1; getRowKey: ComputedRef string) | undefined>; setTableData: >(values: T_2[]) => void; getAutoCreateKey: ComputedRef; fetch: (opt?: FetchParams | undefined) => Promise[] | undefined>; reload: (opt?: FetchParams | undefined) => Promise[] | undefined>; updateTableData: (index: number, key: string, value: any) => Promise>; updateTableDataRecord: (rowKey: string | number, record: Recordable) => Recordable | undefined; deleteTableDataRecord: (rowKey: string | number | string[] | number[]) => void; insertTableDataRecord: (record: Recordable, index?: number | undefined) => Recordable | undefined; findTableDataRecord: (rowKey: string | number) => any; handleTableChange: (pagination: PaginationProps, filters: Partial>, sorter: SorterResult) => void; }; export {};