import { VueNode } from '../_util/type';
import { TourBtnProps } from './interface';
import { DefineComponent, ExtractPropTypes, PropType, CSSProperties, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { PlacementType } from '../vc-tour/placements';
declare const panelRender: DefineComponent<ExtractPropTypes<{
    cover: {
        type: PropType<VueNode>;
    };
    nextButtonProps: {
        type: PropType<TourBtnProps>;
    };
    prevButtonProps: {
        type: PropType<TourBtnProps>;
    };
    current: {
        type: NumberConstructor;
    };
    type: {
        type: PropType<"default" | "primary">;
    };
    prefixCls: {
        type: StringConstructor;
    };
    total: {
        type: NumberConstructor;
    };
    onClose: {
        type: PropType<(e: MouseEvent) => void>;
        default: (e: MouseEvent) => void;
    };
    onFinish: {
        type: PropType<(e: MouseEvent) => void>;
        default: (e: MouseEvent) => void;
    };
    renderPanel: {
        type: PropType<(step: any, current: number) => VueNode>;
        default: (step: any, current: number) => VueNode;
    };
    onPrev: {
        type: PropType<(e: MouseEvent) => void>;
        default: (e: MouseEvent) => void;
    };
    onNext: {
        type: PropType<(e: MouseEvent) => void>;
        default: (e: MouseEvent) => void;
    };
    arrow: {
        type: PropType<boolean | {
            pointAtCenter: boolean;
        }>;
        default: boolean | {
            pointAtCenter: boolean;
        };
    };
    target: {
        type: PropType<HTMLElement | (() => HTMLElement) | (() => null) | null>;
        default: HTMLElement | (() => HTMLElement) | (() => null) | null;
    };
    title: {
        type: PropType<VueNode>;
        default: VueNode;
    };
    description: {
        type: PropType<VueNode>;
        default: VueNode;
    };
    placement: {
        type: PropType<PlacementType>;
        default: PlacementType;
    };
    mask: {
        type: PropType<boolean | {
            style?: CSSProperties;
            color?: string;
        }>;
        default: boolean | {
            style?: CSSProperties;
            color?: string;
        };
    };
    className: {
        type: StringConstructor;
    };
    style: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    scrollIntoViewOptions: {
        type: PropType<boolean | ScrollIntoViewOptions>;
        default: boolean | ScrollIntoViewOptions;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    cover: {
        type: PropType<VueNode>;
    };
    nextButtonProps: {
        type: PropType<TourBtnProps>;
    };
    prevButtonProps: {
        type: PropType<TourBtnProps>;
    };
    current: {
        type: NumberConstructor;
    };
    type: {
        type: PropType<"default" | "primary">;
    };
    prefixCls: {
        type: StringConstructor;
    };
    total: {
        type: NumberConstructor;
    };
    onClose: {
        type: PropType<(e: MouseEvent) => void>;
        default: (e: MouseEvent) => void;
    };
    onFinish: {
        type: PropType<(e: MouseEvent) => void>;
        default: (e: MouseEvent) => void;
    };
    renderPanel: {
        type: PropType<(step: any, current: number) => VueNode>;
        default: (step: any, current: number) => VueNode;
    };
    onPrev: {
        type: PropType<(e: MouseEvent) => void>;
        default: (e: MouseEvent) => void;
    };
    onNext: {
        type: PropType<(e: MouseEvent) => void>;
        default: (e: MouseEvent) => void;
    };
    arrow: {
        type: PropType<boolean | {
            pointAtCenter: boolean;
        }>;
        default: boolean | {
            pointAtCenter: boolean;
        };
    };
    target: {
        type: PropType<HTMLElement | (() => HTMLElement) | (() => null) | null>;
        default: HTMLElement | (() => HTMLElement) | (() => null) | null;
    };
    title: {
        type: PropType<VueNode>;
        default: VueNode;
    };
    description: {
        type: PropType<VueNode>;
        default: VueNode;
    };
    placement: {
        type: PropType<PlacementType>;
        default: PlacementType;
    };
    mask: {
        type: PropType<boolean | {
            style?: CSSProperties;
            color?: string;
        }>;
        default: boolean | {
            style?: CSSProperties;
            color?: string;
        };
    };
    className: {
        type: StringConstructor;
    };
    style: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    scrollIntoViewOptions: {
        type: PropType<boolean | ScrollIntoViewOptions>;
        default: boolean | ScrollIntoViewOptions;
    };
}>> & Readonly<{}>, {
    style: CSSProperties;
    title: VueNode;
    mask: boolean | {
        style?: CSSProperties;
        color?: string;
    };
    onPrev: (e: MouseEvent) => void;
    onNext: (e: MouseEvent) => void;
    target: HTMLElement | (() => HTMLElement) | (() => null) | null;
    onClose: (e: MouseEvent) => void;
    arrow: boolean | {
        pointAtCenter: boolean;
    };
    description: VueNode;
    placement: PlacementType;
    scrollIntoViewOptions: boolean | ScrollIntoViewOptions;
    onFinish: (e: MouseEvent) => void;
    renderPanel: (step: any, current: number) => VueNode;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default panelRender;
