import { type ExtractPropTypes, type PropType } from 'vue';
import { type ApiQueryFileTypeParams } from '../components/FileTypeSelect/types';
import { type ApiUpdateFileParams, type ApiUploadFileParams } from '../components/FileActionUpload/types';
import { type ApiPreviewFileParams } from '../components/FilePreview/types';
import { type ApiQueryFileHistoryParams } from '../components/FileVersion/types';
import { type ApiDeleteFileParams, type ApiDownloadFileParams, type ApiDownloadWaterMarkerFileParams, type ApiQueryFileByActualIds, type ApiQueryFileListParams, type ApiQueryFileParams, type ApiQueryFilterFormFileTypeParams, type ApiUpdateFileNameAndLinkParams } from '../components/FileTable/types';
import { type ApiUploadFileLinkParams } from '../components/FileActionUploadLink';
import { type ApiQueryFileLogParams } from '../components/FileLog';
export declare const globalConfigFileProps: {
    /**根据子组件名来划分注入数据 */
    TaFileTypeSelect: {
        /** filetype 查询接口 */
        apiQueryFileType: {
            type: PropType<(params: ApiQueryFileTypeParams) => Promise<any>>;
        };
    };
    TaFileActionUpload: {
        /** 文件类型控制 */
        accept: {
            type: StringConstructor;
            default: string;
        };
        /** 文件是否支持多选 */
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        /** 文件最大上传个数 */
        maxCount: {
            type: NumberConstructor;
            default: number;
        };
        /** 文件大小控制 */
        sizeRange: {
            type: PropType<(number | null)[]>;
            default: (number | null)[];
        };
        /** 文件名非法字符校验 */
        nameRegExp: {
            type: PropType<RegExp>;
            default: RegExp;
        };
        /** 文件上传接口，传入 uploadFile， */
        apiUploadFile: {
            type: PropType<(params: ApiUploadFileParams) => Promise<any>>;
        };
        apiUpdateFile: {
            type: PropType<(params: ApiUpdateFileParams) => Promise<any>>;
        };
    };
    TaFileActionUploadLink: {
        apiUploadFileLink: {
            type: PropType<(params: ApiUploadFileLinkParams) => Promise<any>>;
        };
    };
    TaFileTable: {
        /** 文件上传接口，传入 uploadFile， */
        apiUploadFile: {
            type: PropType<(params: ApiUploadFileParams) => Promise<any>>;
        };
        /** 查询文件接口，传入 queryfile 分页 */
        apiQueryFile: {
            type: PropType<(params: {
                filter: ApiQueryFileParams;
                model: {
                    dir?: string;
                    limit?: number;
                    page?: number;
                    sort?: string;
                };
            }) => Promise<any>>;
        };
        /** 查询文件接口，传入 queryfilelist 不分页 */
        apiQueryFileList: {
            type: PropType<(params: ApiQueryFileListParams) => Promise<any>>;
        };
        /** 查询文件接口 */
        apiQueryFileByActualIds: {
            type: PropType<(params: ApiQueryFileByActualIds) => Promise<any>>;
        };
        /** 筛选项 */
        apiQueryFilterFormFileType: {
            type: PropType<(params: ApiQueryFilterFormFileTypeParams) => Promise<any>>;
        };
        /** 查询历史文件接口，传入 queryHistoryFileByFileActualIds */
        apiQueryFileHistory: {
            type: PropType<(params: ApiQueryFileHistoryParams) => Promise<any>>;
        };
        apiUpdateFileNameAndLink: {
            type: PropType<(params: ApiUpdateFileNameAndLinkParams) => Promise<any>>;
        };
        apiDeleteFile: {
            type: PropType<(params: ApiDeleteFileParams) => Promise<any>>;
        };
        apiPreviewFile: {
            type: PropType<(params: ApiPreviewFileParams) => Promise<any>>;
        };
        /** 下载接口，传入 fileDownload */
        apiDownloadFile: {
            type: PropType<(params: ApiDownloadFileParams) => Promise<any>>;
        };
        /** 下载水印文件接口，传入 downloadToWatermark */
        apiDownloadWaterMarkerFile: {
            type: PropType<(params: ApiDownloadWaterMarkerFileParams) => Promise<any>>;
        };
    };
    TaFileVersion: {
        /** 查询历史文件接口，传入 queryHistoryFileByFileActualIds */
        apiQueryFileHistory: {
            type: PropType<(params: ApiQueryFileHistoryParams) => Promise<any>>;
        };
        apiPreviewFile: {
            type: PropType<(params: ApiPreviewFileParams) => Promise<any>>;
        };
        /** 下载接口，传入 fileDownload */
        apiDownloadFile: {
            type: PropType<(params: ApiDownloadFileParams) => Promise<any>>;
        };
        /** 下载水印文件接口，传入 downloadToWatermark */
        apiDownloadWaterMarkerFile: {
            type: PropType<(params: ApiDownloadWaterMarkerFileParams) => Promise<any>>;
        };
    };
    TaFilePreview: {
        apiPreviewFile: {
            type: PropType<(params: ApiPreviewFileParams) => Promise<any>>;
        };
    };
    TaFileLog: {
        apiQueryFileLog: {
            type: PropType<(params: {
                filter: ApiQueryFileLogParams;
                model: {
                    dir?: string;
                    limit?: number;
                    page?: number;
                    sort?: string;
                };
            }) => Promise<any>>;
        };
    };
    TaFileCards: {
        /** filetype 查询接口 */
        apiQueryFileType: {
            type: PropType<(params: ApiQueryFileTypeParams) => Promise<any>>;
        };
        /** 查询文件接口，传入 queryfilelist 不分页 */
        apiQueryFileList: {
            type: PropType<(params: ApiQueryFileListParams) => Promise<any>>;
        };
    };
    TaFileCard: {
        /** 文件上传接口，传入 uploadFile， */
        apiUploadFile: {
            type: PropType<(params: ApiUploadFileParams) => Promise<any>>;
        };
        /** 查询文件接口，传入 queryfilelist 不分页 */
        apiQueryFileList: {
            type: PropType<(params: ApiQueryFileListParams) => Promise<any>>;
        };
        /** 查询文件接口 */
        apiQueryFileByActualIds: {
            type: PropType<(params: ApiQueryFileByActualIds) => Promise<any>>;
        };
        /** 查询历史文件接口，传入 queryHistoryFileByFileActualIds */
        apiQueryFileHistory: {
            type: PropType<(params: ApiQueryFileHistoryParams) => Promise<any>>;
        };
        apiUpdateFileNameAndLink: {
            type: PropType<(params: ApiUpdateFileNameAndLinkParams) => Promise<any>>;
        };
        apiDeleteFile: {
            type: PropType<(params: ApiDeleteFileParams) => Promise<any>>;
        };
        apiPreviewFile: {
            type: PropType<(params: ApiPreviewFileParams) => Promise<any>>;
        };
        /** 下载接口，传入 fileDownload */
        apiDownloadFile: {
            type: PropType<(params: ApiDownloadFileParams) => Promise<any>>;
        };
        /** 下载水印文件接口，传入 downloadToWatermark */
        apiDownloadWaterMarkerFile: {
            type: PropType<(params: ApiDownloadWaterMarkerFileParams) => Promise<any>>;
        };
    };
};
export declare type GlobalConfigFileProps = ExtractPropTypes<typeof globalConfigFileProps>;
