import type { RegisterFn } from '../modal';
import type { SrmI18n } from '../../utils/type';
import type { UploadFiles } from './src/upload-image-type';
import type { UploadFile } from 'ant-design-vue';
import type { UploadFileStatus, FileType } from 'ant-design-vue/es/upload/interface';
import type { DefineComponent, PropType, Ref, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ExtractPropTypes } from 'vue';
import type { SFCWithInstall } from '@qqt-product/utils/dist/modules/withInstall';
import QUploadImage from './src/upload-image.vue';
export * from './src/upload-image-type';
export { QUploadImage };
declare const _default: SFCWithInstall<DefineComponent<{
    readonly value: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly canRemove: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly multiple: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly limit: {
        readonly type: NumberConstructor;
        readonly default: 1;
    };
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly businessType: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly uploadImageData: {
        readonly type: ObjectConstructor;
        readonly default: () => {};
    };
    readonly actionRoutePath: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly sourceNumber: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly accept: {
        readonly type: StringConstructor;
        readonly default: ".png, .jpg, .jpeg, .gif";
    };
    readonly 'onUpdate:value': {
        type: PropType<((value: string) => void) | ((value: string) => void)[]>;
        default: unknown;
    };
    readonly onChange: {
        type: PropType<((value: string) => void) | ((value: string) => void)[]>;
        default: unknown;
    };
}, {
    state: {
        previewVisible: boolean;
        previewImage: string;
        action: string;
        localFilePath: string[];
        localfileList: {
            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;
        }[];
    };
    multiple: Ref<boolean>;
    limit: Ref<number>;
    accept: Ref<string>;
    uploadStatues: Ref<boolean>;
    beforeUpload: (file: UploadFile<any>, uploadFiles: UploadFile<any>[]) => boolean;
    handleRemove: (file: UploadFile<unknown>) => boolean | void | Promise<boolean | void>;
    handlePreview: (file: UploadFiles) => Promise<void>;
    isImageUrlFun: () => boolean;
    srmI18n: SrmI18n;
    register: RegisterFn;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("change" | "update:value")[], "change" | "update:value", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes<{
    readonly value: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly canRemove: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly multiple: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly limit: {
        readonly type: NumberConstructor;
        readonly default: 1;
    };
    readonly disabled: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly businessType: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly uploadImageData: {
        readonly type: ObjectConstructor;
        readonly default: () => {};
    };
    readonly actionRoutePath: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly sourceNumber: {
        readonly type: StringConstructor;
        readonly default: "";
    };
    readonly accept: {
        readonly type: StringConstructor;
        readonly default: ".png, .jpg, .jpeg, .gif";
    };
    readonly 'onUpdate:value': {
        type: PropType<((value: string) => void) | ((value: string) => void)[]>;
        default: unknown;
    };
    readonly onChange: {
        type: PropType<((value: string) => void) | ((value: string) => void)[]>;
        default: unknown;
    };
}>> & {
    onChange?: ((...args: any[]) => any) | undefined;
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
}, {
    readonly value: string;
    readonly onChange: ((value: string) => void) | ((value: string) => void)[];
    readonly businessType: string;
    readonly accept: string;
    readonly multiple: boolean;
    readonly 'onUpdate:value': ((value: string) => void) | ((value: string) => void)[];
    readonly disabled: boolean;
    readonly actionRoutePath: string;
    readonly canRemove: boolean;
    readonly limit: number;
    readonly uploadImageData: Record<string, any>;
    readonly sourceNumber: string;
}, {}>>;
export default _default;
