import { VNode, CSSProperties, PropType } from 'vue'; import { Position } from '../tooltip/index'; import { ButtonProps } from '../button'; import '@douyinfe/semi-foundation/lib/es/userGuide/userGuide.css'; import { BaseProps } from '../_base/baseComponent'; import { CombineProps } from '../interface'; export interface UserGuideProps extends BaseProps { className?: string; current?: number; finishText?: string; mask?: boolean; mode?: 'popup' | 'modal'; nextButtonProps?: ButtonProps & { children?: VNode | string | number; }; onChange?: (current: number) => void; onFinish?: () => void; onNext?: (current: number) => void; onPrev?: (current: number) => void; onSkip?: () => void; position?: Position; prevButtonProps?: ButtonProps & { children?: VNode | string | number; }; showPrevButton?: boolean; showSkipButton?: boolean; spotlightPadding?: number; steps: StepItem[]; style?: CSSProperties; theme?: 'default' | 'primary'; visible?: boolean; getPopupContainer?: () => HTMLElement; zIndex?: number; } export interface StepItem { className?: string; cover?: VNode; target?: (() => Element) | Element; title?: string | VNode; description?: VNode; mask?: boolean; showArrow?: boolean; spotlightPadding?: number; theme?: 'default' | 'primary'; position?: Position; } export interface UserGuideState { current: number; spotlightRect: DOMRect | null; } export declare const propTypes: CombineProps; export declare const vuePropsType: CombineProps; declare const UserGuide: import("vue").DefineComponent | { type: PropType; default?: any; required?: false; }; current: PropType | { type: PropType; default?: any; required?: false; }; finishText: PropType | { type: PropType; default?: any; required?: false; }; mask: PropType | { type: PropType; default?: any; required?: false; }; mode: PropType<"popup" | "modal"> | { type: PropType<"popup" | "modal">; default?: any; required?: false; }; nextButtonProps: PropType | { type: PropType; default?: any; required?: false; }; onChange: PropType<(current: number) => void> | { type: PropType<(current: number) => void>; default?: any; required?: false; }; onFinish: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; onNext: PropType<(current: number) => void> | { type: PropType<(current: number) => void>; default?: any; required?: false; }; onPrev: PropType<(current: number) => void> | { type: PropType<(current: number) => void>; default?: any; required?: false; }; onSkip: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; position: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver"> | { type: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">; default?: any; required?: false; }; prevButtonProps: PropType | { type: PropType; default?: any; required?: false; }; showPrevButton: PropType | { type: PropType; default?: any; required?: false; }; showSkipButton: PropType | { type: PropType; default?: any; required?: false; }; spotlightPadding: PropType | { type: PropType; default?: any; required?: false; }; steps: { type: PropType; default?: any; required: true; }; style: PropType | { type: PropType; default?: any; required?: false; }; theme: PropType<"default" | "primary"> | { type: PropType<"default" | "primary">; default?: any; required?: false; }; visible: PropType | { type: PropType; default?: any; required?: false; }; getPopupContainer: PropType<() => HTMLElement> | { type: PropType<() => HTMLElement>; default?: any; required?: false; }; zIndex: PropType | { type: PropType; default?: any; required?: false; }; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly | { type: PropType; default?: any; required?: false; }; current: PropType | { type: PropType; default?: any; required?: false; }; finishText: PropType | { type: PropType; default?: any; required?: false; }; mask: PropType | { type: PropType; default?: any; required?: false; }; mode: PropType<"popup" | "modal"> | { type: PropType<"popup" | "modal">; default?: any; required?: false; }; nextButtonProps: PropType | { type: PropType; default?: any; required?: false; }; onChange: PropType<(current: number) => void> | { type: PropType<(current: number) => void>; default?: any; required?: false; }; onFinish: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; onNext: PropType<(current: number) => void> | { type: PropType<(current: number) => void>; default?: any; required?: false; }; onPrev: PropType<(current: number) => void> | { type: PropType<(current: number) => void>; default?: any; required?: false; }; onSkip: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; position: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver"> | { type: PropType<"bottom" | "left" | "right" | "top" | "topLeft" | "topRight" | "leftTop" | "leftBottom" | "rightTop" | "rightBottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver" | "leftBottomOver" | "rightBottomOver">; default?: any; required?: false; }; prevButtonProps: PropType | { type: PropType; default?: any; required?: false; }; showPrevButton: PropType | { type: PropType; default?: any; required?: false; }; showSkipButton: PropType | { type: PropType; default?: any; required?: false; }; spotlightPadding: PropType | { type: PropType; default?: any; required?: false; }; steps: { type: PropType; default?: any; required: true; }; style: PropType | { type: PropType; default?: any; required?: false; }; theme: PropType<"default" | "primary"> | { type: PropType<"default" | "primary">; default?: any; required?: false; }; visible: PropType | { type: PropType; default?: any; required?: false; }; getPopupContainer: PropType<() => HTMLElement> | { type: PropType<() => HTMLElement>; default?: any; required?: false; }; zIndex: PropType | { type: PropType; default?: any; required?: false; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default UserGuide;