import { ExtractPropTypes, ImgHTMLAttributes, Plugin, DefineComponent, PropType, CSSProperties, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { imageProps } from '../vc-image/src/Image';
import { default as PreviewGroup } from './PreviewGroup';
import { VueTypeValidableDef } from 'vue-types';
import { ImagePreviewType } from '../vc-image';
import { MouseEventHandler } from '../_util/EventInterface';
import { VueNode } from '../_util/type';
export type ImageProps = Partial<ExtractPropTypes<ReturnType<typeof imageProps>> & Omit<ImgHTMLAttributes, 'placeholder' | 'onClick'>>;
declare const Image: DefineComponent<ExtractPropTypes<{
    src: StringConstructor;
    wrapperClassName: StringConstructor;
    wrapperStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    rootClassName: StringConstructor;
    prefixCls: StringConstructor;
    previewPrefixCls: StringConstructor;
    width: (StringConstructor | NumberConstructor)[];
    height: (StringConstructor | NumberConstructor)[];
    previewMask: {
        type: PropType<false | (() => any)>;
        default: undefined;
    };
    placeholder: VueTypeValidableDef<any>;
    fallback: StringConstructor;
    preview: {
        type: PropType<boolean | ImagePreviewType>;
        default: boolean | ImagePreviewType;
    };
    onClick: {
        type: PropType<MouseEventHandler>;
    };
    onError: {
        type: PropType<HTMLImageElement["onerror"]>;
    };
}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    src: StringConstructor;
    wrapperClassName: StringConstructor;
    wrapperStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    rootClassName: StringConstructor;
    prefixCls: StringConstructor;
    previewPrefixCls: StringConstructor;
    width: (StringConstructor | NumberConstructor)[];
    height: (StringConstructor | NumberConstructor)[];
    previewMask: {
        type: PropType<false | (() => any)>;
        default: undefined;
    };
    placeholder: VueTypeValidableDef<any>;
    fallback: StringConstructor;
    preview: {
        type: PropType<boolean | ImagePreviewType>;
        default: boolean | ImagePreviewType;
    };
    onClick: {
        type: PropType<MouseEventHandler>;
    };
    onError: {
        type: PropType<HTMLImageElement["onerror"]>;
    };
}>> & Readonly<{}>, {
    preview: boolean | ImagePreviewType;
    wrapperStyle: CSSProperties;
    previewMask: false | (() => any);
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export { imageProps };
export { PreviewGroup as ImagePreviewGroup };
declare const _default: typeof Image & Plugin & {
    readonly PreviewGroup: typeof PreviewGroup;
};
export default _default;
