import { ButtonProps } from '@aplus-frontend/antdv/es/button';
import { accessCreate, client } from '@aplus-frontend/oss';
/**
 * 类型转换为单例和数组
 */
type TypeToSingleAndArray<Type = any> = Type extends any ? Type | Type[] : never;
export type ApDownLoadProps<FileNameType = any> = ButtonProps & {
    /**
     * 标签内容
     */
    text: string;
    /**
     * 标签颜色
     */
    color?: string;
    fileName: TypeToSingleAndArray<string | FileNameType>;
    /**
     * 是否需要fileName别名
     * 默认false
     * 可以传配置项nameKey，pathKey
     * 默认为name，path
     */
    needName?: ApDownLoadNeedNameModel;
    getOssAccess?: () => Promise<accessCreate>;
    /**
     * 是否开启预览,多文件时配置无效
     */
    preview?: boolean;
};
/**
 * 别名配置项
 */
export type ApDownLoadNeedNameModel = boolean | {
    nameKey?: string;
    pathKey?: string;
};
/**
 * 别名默认值
 */
export declare enum ApDownLoadNeedNameKeyDefault {
    nameKey = "name",
    pathKey = "path"
}
export type actionResponse = Awaited<ReturnType<typeof client.downloadFile>>;
export type downloadCallbackResponse = {
    objectName: string;
    fileName: string;
}[] | actionResponse;
export {};
