import type { PropType, VNode } from 'vue';
import { type IDialogChildProps } from '../../vc-dialog/src/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: any;
    title: any;
    footer: any;
    transitionName: StringConstructor;
    maskTransitionName: StringConstructor;
    animation: any;
    maskAnimation: any;
    wrapStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    bodyStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    maskStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    prefixCls: StringConstructor;
    wrapClassName: StringConstructor;
    width: (NumberConstructor | StringConstructor)[];
    height: (NumberConstructor | StringConstructor)[];
    zIndex: NumberConstructor;
    bodyProps: any;
    maskProps: any;
    wrapProps: any;
    getContainer: any;
    dialogStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    dialogClass: StringConstructor;
    closeIcon: 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").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: any;
    title: any;
    footer: any;
    transitionName: StringConstructor;
    maskTransitionName: StringConstructor;
    animation: any;
    maskAnimation: any;
    wrapStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    bodyStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    maskStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    prefixCls: StringConstructor;
    wrapClassName: StringConstructor;
    width: (NumberConstructor | StringConstructor)[];
    height: (NumberConstructor | StringConstructor)[];
    zIndex: NumberConstructor;
    bodyProps: any;
    maskProps: any;
    wrapProps: any;
    getContainer: any;
    dialogStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    dialogClass: StringConstructor;
    closeIcon: 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").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("afterClose" | "close")[], "afterClose" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").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: any;
    title: any;
    footer: any;
    transitionName: StringConstructor;
    maskTransitionName: StringConstructor;
    animation: any;
    maskAnimation: any;
    wrapStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    bodyStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    maskStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    prefixCls: StringConstructor;
    wrapClassName: StringConstructor;
    width: (NumberConstructor | StringConstructor)[];
    height: (NumberConstructor | StringConstructor)[];
    zIndex: NumberConstructor;
    bodyProps: any;
    maskProps: any;
    wrapProps: any;
    getContainer: any;
    dialogStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    dialogClass: StringConstructor;
    closeIcon: 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;
}, {
    footer: any;
    title: any;
    mask: boolean;
    animation: any;
    visible: boolean;
    closable: boolean;
    closeIcon: any;
    getContainer: any;
    forceRender: boolean;
    bodyStyle: import("vue").CSSProperties;
    maskClosable: boolean;
    keyboard: boolean;
    destroyOnClose: boolean;
    maskStyle: import("vue").CSSProperties;
    mousePosition: any;
    maskAnimation: any;
    wrapStyle: import("vue").CSSProperties;
    bodyProps: any;
    maskProps: any;
    wrapProps: any;
    dialogStyle: import("vue").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;
