import { type ComputedRef, type WritableComputedRef } from 'vue';
import { type FileActionUploadApiResponseRecord, type GlobalConfigFileProps } from '../../typings';
import { type FileCardProps } from '../types';
import { type ReturnOf } from './../../utils';
export interface CardCreateRowsOptions {
    /** 要新增的行数据 */
    rows: FileActionUploadApiResponseRecord[];
    /** 插入行的位置 */
    position?: FileActionUploadApiResponseRecord[] | FileActionUploadApiResponseRecord | null | -1;
    /** 使用组件内部 loading 状态 */
    useLoading?: boolean;
}
export interface CardReadRowsOptions {
    /** 使用组件内部 loading 状态 */
    useLoading?: boolean;
}
export interface CardUpdateRowsOptions {
    /** 要新增的行数据 */
    rows: FileActionUploadApiResponseRecord[];
    /** 要删除的行数据 */
    deleteRows: FileActionUploadApiResponseRecord[];
    /** 使用组件内部 loading 状态 */
    useLoading?: boolean;
}
export interface CardDeleteRowsOptions {
    /** 要删除的行数据，不传的话默认删除全部 */
    rows?: FileActionUploadApiResponseRecord[];
    /** 使用组件内部 loading 状态 */
    useLoading?: boolean;
}
/**
 * 封装 card 操作数据的方法
 * @param options
 * @returns
 */
export declare function useCardActions(options: {
    mergedProps: ComputedRef<GlobalConfigFileProps & FileCardProps>;
    dataSource: ComputedRef<FileActionUploadApiResponseRecord[]>;
    setDataSource: (data: FileActionUploadApiResponseRecord[]) => void;
    loading: WritableComputedRef<any>;
}): {
    cardCreateRows: (_options: CardCreateRowsOptions) => Promise<void>;
    cardReadRows: (_options?: CardReadRowsOptions) => Promise<FileActionUploadApiResponseRecord[]>;
    cardUpdateRows: (_options: CardUpdateRowsOptions) => Promise<void>;
    cardDeleteRows: (_options: CardDeleteRowsOptions) => Promise<void>;
};
export declare type UseCardActionsReturn = ReturnOf<typeof useCardActions>;
