import type { CSSProperties, ExtractPropTypes } from 'vue-demi';
import type { VueNode } from '../_util/type';
import type { Gap } from './hooks/useTarget';
import type { TourStepProps } from './interface';
import type { PlacementType } from './placements';
export declare const tourProps: () => {
    builtinPlacements: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    popupAlign: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    } & {
        default: () => {
            [key: string]: any;
        };
    };
    steps: {
        type: import("vue-demi").PropType<Partial<ExtractPropTypes<{
            arrow: {
                type: import("vue-demi").PropType<boolean | {
                    pointAtCenter: boolean;
                }>;
                default: boolean | {
                    pointAtCenter: boolean;
                };
            };
            target: {
                type: import("vue-demi").PropType<HTMLElement | (() => HTMLElement) | (() => null)>;
                default: HTMLElement | (() => HTMLElement) | (() => null);
            };
            title: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            description: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            placement: {
                type: import("vue-demi").PropType<PlacementType>;
                default: PlacementType;
            };
            mask: {
                type: import("vue-demi").PropType<boolean | {
                    style?: CSSProperties;
                    color?: string;
                }>;
                default: boolean | {
                    style?: CSSProperties;
                    color?: string;
                };
            };
            className: {
                type: StringConstructor;
            };
            style: {
                type: import("vue-demi").PropType<CSSProperties>;
                default: CSSProperties;
            };
            scrollIntoViewOptions: {
                type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
                default: boolean | ScrollIntoViewOptions;
            };
        }>>[]>;
        default: Partial<ExtractPropTypes<{
            arrow: {
                type: import("vue-demi").PropType<boolean | {
                    pointAtCenter: boolean;
                }>;
                default: boolean | {
                    pointAtCenter: boolean;
                };
            };
            target: {
                type: import("vue-demi").PropType<HTMLElement | (() => HTMLElement) | (() => null)>;
                default: HTMLElement | (() => HTMLElement) | (() => null);
            };
            title: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            description: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            placement: {
                type: import("vue-demi").PropType<PlacementType>;
                default: PlacementType;
            };
            mask: {
                type: import("vue-demi").PropType<boolean | {
                    style?: CSSProperties;
                    color?: string;
                }>;
                default: boolean | {
                    style?: CSSProperties;
                    color?: string;
                };
            };
            className: {
                type: StringConstructor;
            };
            style: {
                type: import("vue-demi").PropType<CSSProperties>;
                default: CSSProperties;
            };
            scrollIntoViewOptions: {
                type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
                default: boolean | ScrollIntoViewOptions;
            };
        }>>[];
    };
    open: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultCurrent: {
        type: NumberConstructor;
    };
    current: {
        type: NumberConstructor;
    };
    onChange: {
        type: import("vue-demi").PropType<(current: number) => void>;
        default: (current: number) => void;
    };
    onClose: {
        type: import("vue-demi").PropType<(current: number) => void>;
        default: (current: number) => void;
    };
    onFinish: {
        type: import("vue-demi").PropType<() => void>;
        default: () => void;
    };
    mask: {
        type: import("vue-demi").PropType<boolean | {
            style?: CSSProperties;
            color?: string;
        }>;
        default: boolean | {
            style?: CSSProperties;
            color?: string;
        };
    };
    arrow: {
        type: import("vue-demi").PropType<boolean | {
            pointAtCenter: boolean;
        }>;
        default: boolean | {
            pointAtCenter: boolean;
        };
    };
    rootClassName: {
        type: StringConstructor;
    };
    placement: {
        type: import("vue-demi").PropType<PlacementType>;
        default: PlacementType;
    };
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    renderPanel: {
        type: import("vue-demi").PropType<(props: TourStepProps, current: number) => VueNode>;
        default: (props: TourStepProps, current: number) => VueNode;
    };
    gap: {
        type: import("vue-demi").PropType<Gap>;
        default: Gap;
    };
    animated: {
        type: import("vue-demi").PropType<boolean | {
            placeholder: boolean;
        }>;
        default: boolean | {
            placeholder: boolean;
        };
    };
    scrollIntoViewOptions: {
        type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
        default: boolean | ScrollIntoViewOptions;
    };
    zIndex: {
        type: NumberConstructor;
        default: number;
    };
};
export type TourProps = Partial<ExtractPropTypes<ReturnType<typeof tourProps>>>;
declare const Tour: import("vue-demi").DefineComponent<{
    builtinPlacements: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    popupAlign: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    } & {
        default: () => {
            [key: string]: any;
        };
    };
    steps: {
        type: import("vue-demi").PropType<Partial<ExtractPropTypes<{
            arrow: {
                type: import("vue-demi").PropType<boolean | {
                    pointAtCenter: boolean;
                }>;
                default: boolean | {
                    pointAtCenter: boolean;
                };
            };
            target: {
                type: import("vue-demi").PropType<HTMLElement | (() => HTMLElement) | (() => null)>;
                default: HTMLElement | (() => HTMLElement) | (() => null);
            };
            title: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            description: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            placement: {
                type: import("vue-demi").PropType<PlacementType>;
                default: PlacementType;
            };
            mask: {
                type: import("vue-demi").PropType<boolean | {
                    style?: CSSProperties;
                    color?: string;
                }>;
                default: boolean | {
                    style?: CSSProperties;
                    color?: string;
                };
            };
            className: {
                type: StringConstructor;
            };
            style: {
                type: import("vue-demi").PropType<CSSProperties>;
                default: CSSProperties;
            };
            scrollIntoViewOptions: {
                type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
                default: boolean | ScrollIntoViewOptions;
            };
        }>>[]>;
        default: Partial<ExtractPropTypes<{
            arrow: {
                type: import("vue-demi").PropType<boolean | {
                    pointAtCenter: boolean;
                }>;
                default: boolean | {
                    pointAtCenter: boolean;
                };
            };
            target: {
                type: import("vue-demi").PropType<HTMLElement | (() => HTMLElement) | (() => null)>;
                default: HTMLElement | (() => HTMLElement) | (() => null);
            };
            title: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            description: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            placement: {
                type: import("vue-demi").PropType<PlacementType>;
                default: PlacementType;
            };
            mask: {
                type: import("vue-demi").PropType<boolean | {
                    style?: CSSProperties;
                    color?: string;
                }>;
                default: boolean | {
                    style?: CSSProperties;
                    color?: string;
                };
            };
            className: {
                type: StringConstructor;
            };
            style: {
                type: import("vue-demi").PropType<CSSProperties>;
                default: CSSProperties;
            };
            scrollIntoViewOptions: {
                type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
                default: boolean | ScrollIntoViewOptions;
            };
        }>>[];
    };
    open: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultCurrent: {
        type: NumberConstructor;
    };
    current: {
        type: NumberConstructor;
    };
    onChange: {
        type: import("vue-demi").PropType<(current: number) => void>;
        default: (current: number) => void;
    };
    onClose: {
        type: import("vue-demi").PropType<(current: number) => void>;
        default: (current: number) => void;
    };
    onFinish: {
        type: import("vue-demi").PropType<() => void>;
        default: () => void;
    };
    mask: {
        type: import("vue-demi").PropType<boolean | {
            style?: CSSProperties;
            color?: string;
        }>;
        default: boolean | {
            style?: CSSProperties;
            color?: string;
        };
    };
    arrow: {
        type: import("vue-demi").PropType<boolean | {
            pointAtCenter: boolean;
        }>;
        default: boolean | {
            pointAtCenter: boolean;
        };
    };
    rootClassName: {
        type: StringConstructor;
    };
    placement: {
        type: import("vue-demi").PropType<PlacementType>;
        default: PlacementType;
    };
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    renderPanel: {
        type: import("vue-demi").PropType<(props: TourStepProps, current: number) => VueNode>;
        default: (props: TourStepProps, current: number) => VueNode;
    };
    gap: {
        type: import("vue-demi").PropType<Gap>;
        default: Gap;
    };
    animated: {
        type: import("vue-demi").PropType<boolean | {
            placeholder: boolean;
        }>;
        default: boolean | {
            placeholder: boolean;
        };
    };
    scrollIntoViewOptions: {
        type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
        default: boolean | ScrollIntoViewOptions;
    };
    zIndex: {
        type: NumberConstructor;
        default: number;
    };
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").PublicProps, Readonly<ExtractPropTypes<{
    builtinPlacements: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    popupAlign: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    } & {
        default: () => {
            [key: string]: any;
        };
    };
    steps: {
        type: import("vue-demi").PropType<Partial<ExtractPropTypes<{
            arrow: {
                type: import("vue-demi").PropType<boolean | {
                    pointAtCenter: boolean;
                }>;
                default: boolean | {
                    pointAtCenter: boolean;
                };
            };
            target: {
                type: import("vue-demi").PropType<HTMLElement | (() => HTMLElement) | (() => null)>;
                default: HTMLElement | (() => HTMLElement) | (() => null);
            };
            title: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            description: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            placement: {
                type: import("vue-demi").PropType<PlacementType>;
                default: PlacementType;
            };
            mask: {
                type: import("vue-demi").PropType<boolean | {
                    style?: CSSProperties;
                    color?: string;
                }>;
                default: boolean | {
                    style?: CSSProperties;
                    color?: string;
                };
            };
            className: {
                type: StringConstructor;
            };
            style: {
                type: import("vue-demi").PropType<CSSProperties>;
                default: CSSProperties;
            };
            scrollIntoViewOptions: {
                type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
                default: boolean | ScrollIntoViewOptions;
            };
        }>>[]>;
        default: Partial<ExtractPropTypes<{
            arrow: {
                type: import("vue-demi").PropType<boolean | {
                    pointAtCenter: boolean;
                }>;
                default: boolean | {
                    pointAtCenter: boolean;
                };
            };
            target: {
                type: import("vue-demi").PropType<HTMLElement | (() => HTMLElement) | (() => null)>;
                default: HTMLElement | (() => HTMLElement) | (() => null);
            };
            title: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            description: {
                type: import("vue-demi").PropType<VueNode>;
                default: VueNode;
            };
            placement: {
                type: import("vue-demi").PropType<PlacementType>;
                default: PlacementType;
            };
            mask: {
                type: import("vue-demi").PropType<boolean | {
                    style?: CSSProperties;
                    color?: string;
                }>;
                default: boolean | {
                    style?: CSSProperties;
                    color?: string;
                };
            };
            className: {
                type: StringConstructor;
            };
            style: {
                type: import("vue-demi").PropType<CSSProperties>;
                default: CSSProperties;
            };
            scrollIntoViewOptions: {
                type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
                default: boolean | ScrollIntoViewOptions;
            };
        }>>[];
    };
    open: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultCurrent: {
        type: NumberConstructor;
    };
    current: {
        type: NumberConstructor;
    };
    onChange: {
        type: import("vue-demi").PropType<(current: number) => void>;
        default: (current: number) => void;
    };
    onClose: {
        type: import("vue-demi").PropType<(current: number) => void>;
        default: (current: number) => void;
    };
    onFinish: {
        type: import("vue-demi").PropType<() => void>;
        default: () => void;
    };
    mask: {
        type: import("vue-demi").PropType<boolean | {
            style?: CSSProperties;
            color?: string;
        }>;
        default: boolean | {
            style?: CSSProperties;
            color?: string;
        };
    };
    arrow: {
        type: import("vue-demi").PropType<boolean | {
            pointAtCenter: boolean;
        }>;
        default: boolean | {
            pointAtCenter: boolean;
        };
    };
    rootClassName: {
        type: StringConstructor;
    };
    placement: {
        type: import("vue-demi").PropType<PlacementType>;
        default: PlacementType;
    };
    prefixCls: {
        type: StringConstructor;
        default: string;
    };
    renderPanel: {
        type: import("vue-demi").PropType<(props: TourStepProps, current: number) => VueNode>;
        default: (props: TourStepProps, current: number) => VueNode;
    };
    gap: {
        type: import("vue-demi").PropType<Gap>;
        default: Gap;
    };
    animated: {
        type: import("vue-demi").PropType<boolean | {
            placeholder: boolean;
        }>;
        default: boolean | {
            placeholder: boolean;
        };
    };
    scrollIntoViewOptions: {
        type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
        default: boolean | ScrollIntoViewOptions;
    };
    zIndex: {
        type: NumberConstructor;
        default: number;
    };
}>>, {
    mask: boolean | {
        style?: CSSProperties;
        color?: string;
    };
    onChange: (current: number) => void;
    open: boolean;
    zIndex: number;
    gap: Gap;
    prefixCls: string;
    onClose: (current: number) => void;
    builtinPlacements: {
        [key: string]: any;
    };
    popupAlign: {
        [key: string]: any;
    };
    placement: PlacementType;
    arrow: boolean | {
        pointAtCenter: boolean;
    };
    steps: Partial<ExtractPropTypes<{
        arrow: {
            type: import("vue-demi").PropType<boolean | {
                pointAtCenter: boolean;
            }>;
            default: boolean | {
                pointAtCenter: boolean;
            };
        };
        target: {
            type: import("vue-demi").PropType<HTMLElement | (() => HTMLElement) | (() => null)>;
            default: HTMLElement | (() => HTMLElement) | (() => null);
        };
        title: {
            type: import("vue-demi").PropType<VueNode>;
            default: VueNode;
        };
        description: {
            type: import("vue-demi").PropType<VueNode>;
            default: VueNode;
        };
        placement: {
            type: import("vue-demi").PropType<PlacementType>;
            default: PlacementType;
        };
        mask: {
            type: import("vue-demi").PropType<boolean | {
                style?: CSSProperties;
                color?: string;
            }>;
            default: boolean | {
                style?: CSSProperties;
                color?: string;
            };
        };
        className: {
            type: StringConstructor;
        };
        style: {
            type: import("vue-demi").PropType<CSSProperties>;
            default: CSSProperties;
        };
        scrollIntoViewOptions: {
            type: import("vue-demi").PropType<boolean | ScrollIntoViewOptions>;
            default: boolean | ScrollIntoViewOptions;
        };
    }>>[];
    scrollIntoViewOptions: boolean | ScrollIntoViewOptions;
    onFinish: () => void;
    renderPanel: (props: TourStepProps, current: number) => VueNode;
    animated: boolean | {
        placeholder: boolean;
    };
}, {}>;
export default Tour;
