import type { VNode, PropType } from 'vue-demi';
import { type IDialogChildProps } from '../../vc-dialog/IDialogPropTypes';
export interface PreviewProps extends Omit<IDialogChildProps, 'onClose' | 'mask'> {
    onClose?: (e: Element) => void;
    src?: string;
    alt?: string;
    rootClassName?: string;
    icons?: {
        rotateLeft?: VNode;
        rotateRight?: VNode;
        zoomIn?: VNode;
        zoomOut?: VNode;
        close?: VNode;
        left?: VNode;
        right?: VNode;
        flipX?: VNode;
        flipY?: VNode;
    };
}
export declare const previewProps: {
    src: StringConstructor;
    alt: StringConstructor;
    rootClassName: StringConstructor;
    icons: {
        type: PropType<{
            rotateLeft?: VNode;
            rotateRight?: VNode;
            zoomIn?: VNode;
            zoomOut?: VNode;
            close?: VNode;
            left?: VNode;
            right?: VNode;
            flipX?: VNode;
            flipY?: VNode;
        }>;
        default: () => {
            rotateLeft?: VNode;
            rotateRight?: VNode;
            zoomIn?: VNode;
            zoomOut?: VNode;
            close?: VNode;
            left?: VNode;
            right?: VNode;
            flipX?: VNode;
            flipY?: VNode;
        };
    };
    keyboard: {
        type: BooleanConstructor;
        default: any;
    };
    mask: {
        type: BooleanConstructor;
        default: any;
    };
    afterClose: FunctionConstructor;
    closable: {
        type: BooleanConstructor;
        default: any;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: any;
    };
    visible: {
        type: BooleanConstructor;
        default: any;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: any;
    };
    mousePosition: import("vue-types").VueTypeLooseShape<{
        x: number;
        y: number;
    }>;
    title: import("vue-types").VueTypeValidableDef<any>;
    footer: import("vue-types").VueTypeValidableDef<any>;
    transitionName: StringConstructor;
    maskTransitionName: StringConstructor;
    animation: import("vue-types").VueTypeValidableDef<any>;
    maskAnimation: import("vue-types").VueTypeValidableDef<any>;
    wrapStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    bodyStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    maskStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    prefixCls: StringConstructor;
    wrapClassName: StringConstructor;
    width: (StringConstructor | NumberConstructor)[];
    height: (StringConstructor | NumberConstructor)[];
    zIndex: NumberConstructor;
    bodyProps: import("vue-types").VueTypeValidableDef<any>;
    maskProps: import("vue-types").VueTypeValidableDef<any>;
    wrapProps: import("vue-types").VueTypeValidableDef<any>;
    getContainer: import("vue-types").VueTypeValidableDef<any>;
    dialogStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    dialogClass: StringConstructor;
    closeIcon: import("vue-types").VueTypeValidableDef<any>;
    forceRender: {
        type: BooleanConstructor;
        default: any;
    };
    getOpenCount: PropType<() => number>;
    focusTriggerAfterClose: {
        type: BooleanConstructor;
        default: any;
    };
    onClose: PropType<(e: MouseEvent | KeyboardEvent) => void>;
    modalRender: FunctionConstructor;
};
declare const Preview: import("vue-demi").DefineComponent<{
    src: StringConstructor;
    alt: StringConstructor;
    rootClassName: StringConstructor;
    icons: {
        type: PropType<{
            rotateLeft?: VNode;
            rotateRight?: VNode;
            zoomIn?: VNode;
            zoomOut?: VNode;
            close?: VNode;
            left?: VNode;
            right?: VNode;
            flipX?: VNode;
            flipY?: VNode;
        }>;
        default: () => {
            rotateLeft?: VNode;
            rotateRight?: VNode;
            zoomIn?: VNode;
            zoomOut?: VNode;
            close?: VNode;
            left?: VNode;
            right?: VNode;
            flipX?: VNode;
            flipY?: VNode;
        };
    };
    keyboard: {
        type: BooleanConstructor;
        default: any;
    };
    mask: {
        type: BooleanConstructor;
        default: any;
    };
    afterClose: FunctionConstructor;
    closable: {
        type: BooleanConstructor;
        default: any;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: any;
    };
    visible: {
        type: BooleanConstructor;
        default: any;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: any;
    };
    mousePosition: import("vue-types").VueTypeLooseShape<{
        x: number;
        y: number;
    }>;
    title: import("vue-types").VueTypeValidableDef<any>;
    footer: import("vue-types").VueTypeValidableDef<any>;
    transitionName: StringConstructor;
    maskTransitionName: StringConstructor;
    animation: import("vue-types").VueTypeValidableDef<any>;
    maskAnimation: import("vue-types").VueTypeValidableDef<any>;
    wrapStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    bodyStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    maskStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    prefixCls: StringConstructor;
    wrapClassName: StringConstructor;
    width: (StringConstructor | NumberConstructor)[];
    height: (StringConstructor | NumberConstructor)[];
    zIndex: NumberConstructor;
    bodyProps: import("vue-types").VueTypeValidableDef<any>;
    maskProps: import("vue-types").VueTypeValidableDef<any>;
    wrapProps: import("vue-types").VueTypeValidableDef<any>;
    getContainer: import("vue-types").VueTypeValidableDef<any>;
    dialogStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    dialogClass: StringConstructor;
    closeIcon: import("vue-types").VueTypeValidableDef<any>;
    forceRender: {
        type: BooleanConstructor;
        default: any;
    };
    getOpenCount: PropType<() => number>;
    focusTriggerAfterClose: {
        type: BooleanConstructor;
        default: any;
    };
    onClose: PropType<(e: MouseEvent | KeyboardEvent) => void>;
    modalRender: FunctionConstructor;
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("close" | "afterClose")[], "close" | "afterClose", import("vue-demi").PublicProps, Readonly<import("vue-demi").ExtractPropTypes<{
    src: StringConstructor;
    alt: StringConstructor;
    rootClassName: StringConstructor;
    icons: {
        type: PropType<{
            rotateLeft?: VNode;
            rotateRight?: VNode;
            zoomIn?: VNode;
            zoomOut?: VNode;
            close?: VNode;
            left?: VNode;
            right?: VNode;
            flipX?: VNode;
            flipY?: VNode;
        }>;
        default: () => {
            rotateLeft?: VNode;
            rotateRight?: VNode;
            zoomIn?: VNode;
            zoomOut?: VNode;
            close?: VNode;
            left?: VNode;
            right?: VNode;
            flipX?: VNode;
            flipY?: VNode;
        };
    };
    keyboard: {
        type: BooleanConstructor;
        default: any;
    };
    mask: {
        type: BooleanConstructor;
        default: any;
    };
    afterClose: FunctionConstructor;
    closable: {
        type: BooleanConstructor;
        default: any;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: any;
    };
    visible: {
        type: BooleanConstructor;
        default: any;
    };
    destroyOnClose: {
        type: BooleanConstructor;
        default: any;
    };
    mousePosition: import("vue-types").VueTypeLooseShape<{
        x: number;
        y: number;
    }>;
    title: import("vue-types").VueTypeValidableDef<any>;
    footer: import("vue-types").VueTypeValidableDef<any>;
    transitionName: StringConstructor;
    maskTransitionName: StringConstructor;
    animation: import("vue-types").VueTypeValidableDef<any>;
    maskAnimation: import("vue-types").VueTypeValidableDef<any>;
    wrapStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    bodyStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    maskStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    prefixCls: StringConstructor;
    wrapClassName: StringConstructor;
    width: (StringConstructor | NumberConstructor)[];
    height: (StringConstructor | NumberConstructor)[];
    zIndex: NumberConstructor;
    bodyProps: import("vue-types").VueTypeValidableDef<any>;
    maskProps: import("vue-types").VueTypeValidableDef<any>;
    wrapProps: import("vue-types").VueTypeValidableDef<any>;
    getContainer: import("vue-types").VueTypeValidableDef<any>;
    dialogStyle: {
        type: PropType<import("vue-demi").CSSProperties>;
        default: import("vue-demi").CSSProperties;
    };
    dialogClass: StringConstructor;
    closeIcon: import("vue-types").VueTypeValidableDef<any>;
    forceRender: {
        type: BooleanConstructor;
        default: any;
    };
    getOpenCount: PropType<() => number>;
    focusTriggerAfterClose: {
        type: BooleanConstructor;
        default: any;
    };
    onClose: PropType<(e: MouseEvent | KeyboardEvent) => void>;
    modalRender: FunctionConstructor;
}>> & {
    onClose?: (...args: any[]) => any;
    onAfterClose?: (...args: any[]) => any;
}, {
    mask: boolean;
    visible: boolean;
    forceRender: boolean;
    maskClosable: boolean;
    keyboard: boolean;
    closable: boolean;
    bodyStyle: import("vue-demi").CSSProperties;
    maskStyle: import("vue-demi").CSSProperties;
    destroyOnClose: boolean;
    wrapStyle: import("vue-demi").CSSProperties;
    dialogStyle: import("vue-demi").CSSProperties;
    focusTriggerAfterClose: boolean;
    icons: {
        rotateLeft?: VNode;
        rotateRight?: VNode;
        zoomIn?: VNode;
        zoomOut?: VNode;
        close?: VNode;
        left?: VNode;
        right?: VNode;
        flipX?: VNode;
        flipY?: VNode;
    };
}, {}>;
export default Preview;
