///
import { CardinalOrientation, OrientationCoords } from '../utils/positioning';
import { Coords } from '../utils/dom';
export interface WalktourLogic {
next: (fromTarget?: boolean) => void;
prev: () => void;
close: (reset?: boolean) => void;
goToStep: (stepNumber: number) => void;
stepContent: Step;
stepIndex: number;
allSteps: Step[];
}
export interface WalktourOptions {
disableMaskInteraction?: boolean;
disableCloseOnClick?: boolean;
orientationPreferences?: CardinalOrientation[];
maskPadding?: number;
tooltipSeparation?: number;
transition?: string;
customTitleRenderer?: (title?: string, tourLogic?: WalktourLogic) => JSX.Element;
customDescriptionRenderer?: (description: string, tourLogic?: WalktourLogic) => JSX.Element;
customFooterRenderer?: (tourLogic?: WalktourLogic) => JSX.Element;
customTooltipRenderer?: (tourLogic?: WalktourLogic) => JSX.Element;
customNextFunc?: (tourLogic: WalktourLogic, fromTarget?: boolean) => void;
customPrevFunc?: (tourLogic: WalktourLogic) => void;
customCloseFunc?: (tourLogic: WalktourLogic) => void;
prevLabel?: string;
nextLabel?: string;
closeLabel?: string;
disableNext?: boolean;
disablePrev?: boolean;
disableClose?: boolean;
disableAutoScroll?: boolean;
getPositionFromCandidates?: (candidates: OrientationCoords[]) => Coords;
movingTarget?: boolean;
updateInterval?: number;
renderTolerance?: number;
disableMask?: boolean;
disableSmoothScroll?: boolean;
allowForeignTarget?: boolean;
nextOnTargetClick?: boolean;
validateNextOnTargetClick?: () => Promise;
hideNext?: boolean;
hidePrev?: boolean;
hideClose?: boolean;
secondarySelectors?: string[];
}
export interface Step extends WalktourOptions {
selector: string;
title?: string;
description: string;
}
export interface WalktourProps extends WalktourOptions {
steps: Step[];
initialStepIndex?: number;
zIndex?: number;
rootSelector?: string;
identifier?: string;
setUpdateListener?: (update: () => void) => void;
removeUpdateListener?: (update: () => void) => void;
disableListeners?: boolean;
isOpen?: boolean;
debug?: boolean;
}
export declare const Walktour: (props: WalktourProps) => JSX.Element;