import type { SrmI18n } from '../../../utils/type';
import type { DefaultOptionType } from 'ant-design-vue/es/select';
import type { UploadFileStatus, FileType } from 'ant-design-vue/es/upload/interface';
import type { Data, FileTypeList } from './upload-file-types';
import type { DefineComponent, PropType, Ref, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes } from 'vue';
import type { UploadFile } from 'ant-design-vue';
import type { UserInfo, CurrentRow, RecordString } from '../../edit-page-layout';
declare const _sfc_main: DefineComponent<{
    readonly visible: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly dictCode: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly defaultFileType: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly requiredFileType: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly defaultFileBelong: {
        readonly type: StringConstructor;
        readonly default: "headId";
    };
    readonly limitSize: {
        readonly type: NumberConstructor;
        readonly default: 100;
    };
    readonly accept: {
        readonly type: StringConstructor;
        readonly default: ".doc, .docx, .xls, .xlsx, .ppt, .png, .jpg, .jpeg, .gif, .pptx, .pdf, .txt";
    };
    readonly acceptDictCode: {
        readonly type: StringConstructor;
        readonly default: "attachmentExtension";
    };
    readonly maxCount: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly userInfo: {
        readonly type: PropType<UserInfo>;
        readonly default: () => {};
    };
    readonly data: {
        readonly type: PropType<Data>;
        readonly default: () => {};
    };
    readonly isOss: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly isGridUpload: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly role: {
        readonly type: PropType<string>;
        readonly default: "purchase";
    };
    readonly action: {
        readonly type: StringConstructor;
        readonly default: "/attachment/purchaseAttachment/upload";
    };
    readonly currentRow: {
        readonly type: PropType<CurrentRow>;
        readonly default: () => {};
    };
    readonly itemNumberKey: {
        readonly type: StringConstructor;
        readonly default: "itemNumber";
    };
    readonly itemNumberLabel: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly itemNumberValueProp: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly itemNumberDefaultValue: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly property: {
        readonly type: StringConstructor;
        readonly default: "materialName";
    };
    readonly itemNumberSelectIndex: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly disabledItemNumber: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly itemInfo: {
        readonly type: PropType<RecordString[]>;
        readonly default: () => never[];
    };
    readonly fileTypeList: {
        readonly type: PropType<FileTypeList[]>;
        readonly default: () => never[];
    };
    readonly actionRoutePath: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly sourceNumberType: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly 'onUpdate:visible': {
        type: PropType<((value: boolean) => void) | ((value: boolean) => void)[]>;
        default: unknown;
    };
    readonly onConfirmBeforeUpload: {
        readonly type: FunctionConstructor;
        readonly default: null;
    };
}, {
    visible: Ref<boolean>;
    validateInfos: any;
    limitSize: Ref<number>;
    acceptNew: Ref<string>;
    handleConfirm: () => void;
    handleCancel: () => void;
    fileData: {
        [x: string]: unknown;
        [x: number]: unknown;
        fileType: string;
        fileList: {
            uid: string;
            size?: number | undefined;
            name: string;
            fileName?: string | undefined;
            lastModified?: number | undefined;
            lastModifiedDate?: {
                toString: () => string;
                toDateString: () => string;
                toTimeString: () => string;
                toLocaleString: {
                    (): string;
                    (locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
                    (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions | undefined): string;
                };
                toLocaleDateString: {
                    (): string;
                    (locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
                    (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions | undefined): string;
                };
                toLocaleTimeString: {
                    (): string;
                    (locales?: string | string[] | undefined, options?: Intl.DateTimeFormatOptions | undefined): string;
                    (locales?: Intl.LocalesArgument, options?: Intl.DateTimeFormatOptions | undefined): string;
                };
                valueOf: () => number;
                getTime: () => number;
                getFullYear: () => number;
                getUTCFullYear: () => number;
                getMonth: () => number;
                getUTCMonth: () => number;
                getDate: () => number;
                getUTCDate: () => number;
                getDay: () => number;
                getUTCDay: () => number;
                getHours: () => number;
                getUTCHours: () => number;
                getMinutes: () => number;
                getUTCMinutes: () => number;
                getSeconds: () => number;
                getUTCSeconds: () => number;
                getMilliseconds: () => number;
                getUTCMilliseconds: () => number;
                getTimezoneOffset: () => number;
                setTime: (time: number) => number;
                setMilliseconds: (ms: number) => number;
                setUTCMilliseconds: (ms: number) => number;
                setSeconds: (sec: number, ms?: number | undefined) => number;
                setUTCSeconds: (sec: number, ms?: number | undefined) => number;
                setMinutes: (min: number, sec?: number | undefined, ms?: number | undefined) => number;
                setUTCMinutes: (min: number, sec?: number | undefined, ms?: number | undefined) => number;
                setHours: (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number;
                setUTCHours: (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number;
                setDate: (date: number) => number;
                setUTCDate: (date: number) => number;
                setMonth: (month: number, date?: number | undefined) => number;
                setUTCMonth: (month: number, date?: number | undefined) => number;
                setFullYear: (year: number, month?: number | undefined, date?: number | undefined) => number;
                setUTCFullYear: (year: number, month?: number | undefined, date?: number | undefined) => number;
                toUTCString: () => string;
                toISOString: () => string;
                toJSON: (key?: any) => string;
                [Symbol.toPrimitive]: {
                    (hint: "default"): string;
                    (hint: "string"): string;
                    (hint: "number"): number;
                    (hint: string): string | number;
                };
            } | undefined;
            url?: string | undefined;
            status?: UploadFileStatus | undefined;
            percent?: number | undefined;
            thumbUrl?: string | undefined;
            crossOrigin?: "" | "anonymous" | "use-credentials" | undefined;
            originFileObj?: FileType | undefined;
            response?: any;
            error?: any;
            linkProps?: any;
            type?: string | undefined;
            xhr?: any;
            preview?: string | undefined;
        }[];
        itemNumber: string;
        fileBelong: string;
    };
    itemNumberLabel: string;
    itemNumberValueProp: Ref<string>;
    property: Ref<string>;
    itemInfo: Ref<RecordString[]>;
    fileTypeList: Ref<{
        [x: string]: any;
        label?: any;
        value?: string | number | null | undefined;
        children?: Omit<DefaultOptionType, "children">[] | undefined;
        disabled?: boolean | undefined;
    }[] | undefined>;
    isGridUpload: Ref<boolean>;
    beforeUpload: (file: UploadFile) => boolean;
    handleRemove: (file: UploadFile<unknown>) => boolean | void | Promise<boolean | void>;
    srmI18n: SrmI18n;
    defaultFileType: Ref<string>;
    filterOption: (input: string, option: any) => boolean;
    computedItemInfo: ComputedRef<DefaultOptionType[] | undefined>;
    labelCol: Ref<{
        span: number;
    }>;
    wrapperCol: Ref<{
        span: number;
    }>;
    loading: Ref<boolean>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("update:visible" | "change_upload_files")[], "update:visible" | "change_upload_files", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    readonly visible: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly dictCode: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly defaultFileType: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly requiredFileType: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly defaultFileBelong: {
        readonly type: StringConstructor;
        readonly default: "headId";
    };
    readonly limitSize: {
        readonly type: NumberConstructor;
        readonly default: 100;
    };
    readonly accept: {
        readonly type: StringConstructor;
        readonly default: ".doc, .docx, .xls, .xlsx, .ppt, .png, .jpg, .jpeg, .gif, .pptx, .pdf, .txt";
    };
    readonly acceptDictCode: {
        readonly type: StringConstructor;
        readonly default: "attachmentExtension";
    };
    readonly maxCount: {
        readonly type: NumberConstructor;
        readonly default: 0;
    };
    readonly userInfo: {
        readonly type: PropType<UserInfo>;
        readonly default: () => {};
    };
    readonly data: {
        readonly type: PropType<Data>;
        readonly default: () => {};
    };
    readonly isOss: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly isGridUpload: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly role: {
        readonly type: PropType<string>;
        readonly default: "purchase";
    };
    readonly action: {
        readonly type: StringConstructor;
        readonly default: "/attachment/purchaseAttachment/upload";
    };
    readonly currentRow: {
        readonly type: PropType<CurrentRow>;
        readonly default: () => {};
    };
    readonly itemNumberKey: {
        readonly type: StringConstructor;
        readonly default: "itemNumber";
    };
    readonly itemNumberLabel: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly itemNumberValueProp: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly itemNumberDefaultValue: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly property: {
        readonly type: StringConstructor;
        readonly default: "materialName";
    };
    readonly itemNumberSelectIndex: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly disabledItemNumber: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly itemInfo: {
        readonly type: PropType<RecordString[]>;
        readonly default: () => never[];
    };
    readonly fileTypeList: {
        readonly type: PropType<FileTypeList[]>;
        readonly default: () => never[];
    };
    readonly actionRoutePath: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly sourceNumberType: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly 'onUpdate:visible': {
        type: PropType<((value: boolean) => void) | ((value: boolean) => void)[]>;
        default: unknown;
    };
    readonly onConfirmBeforeUpload: {
        readonly type: FunctionConstructor;
        readonly default: null;
    };
}>> & {
    "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
    onChange_upload_files?: ((...args: any[]) => any) | undefined;
}, {
    readonly data: Data;
    readonly 'onUpdate:visible': ((value: boolean) => void) | ((value: boolean) => void)[];
    readonly visible: boolean;
    readonly currentRow: CurrentRow;
    readonly action: string;
    readonly accept: string;
    readonly dictCode: string;
    readonly userInfo: UserInfo;
    readonly role: string;
    readonly property: string;
    readonly defaultFileType: string;
    readonly requiredFileType: boolean;
    readonly defaultFileBelong: string;
    readonly limitSize: number;
    readonly acceptDictCode: string;
    readonly maxCount: number;
    readonly isOss: boolean;
    readonly isGridUpload: boolean;
    readonly itemNumberKey: string;
    readonly itemNumberLabel: string;
    readonly itemNumberValueProp: string;
    readonly itemNumberDefaultValue: string;
    readonly itemNumberSelectIndex: boolean;
    readonly disabledItemNumber: boolean;
    readonly itemInfo: RecordString[];
    readonly fileTypeList: FileTypeList[];
    readonly actionRoutePath: string;
    readonly sourceNumberType: string;
    readonly onConfirmBeforeUpload: Function;
}, {}>;
export default _sfc_main;
