import React, { ReactNode } from 'react'; declare type CoachmarkBaseProps = React.ComponentProps<'div'>; interface UnifyCoachmarkProps { /** * Determine which `Coachmark` step is active */ currentPage: number; /** * Determine dataTestId */ dataTestId?: DataTestIdProps; /** * Determine a Description list */ description?: ReactNode[]; /** * Determine a Coachmark is Visible */ display: boolean; disableScrolling: boolean; extraScroll: number; fixed: boolean; /** * Show Skip Button */ hasSkip: boolean; /** * An Alternative to determine coachmark Items */ items: ItemsProps[]; /** * Determine Target selector list */ numberOfPage: string[]; /** * Determine a Title list */ title: string[]; /** * Determine Coachmark element zIndex */ zIndex: number; /** * Determine format language */ lang: string; /** * To specify highlight options */ highlightOptions: HighlightOptionsProps; /** * To specify overlay options */ overlayOptions: OverlayOptionsProps; /** * Add Prepend Object */ prependObject: ReactNode; /** * Action when `prev` or `next` button is clicked | params: `nextCurrentPage` */ onChange?: (nextCurrentPage: number, e: React.MouseEvent) => void; /** * Action when user `finish` the Coachmark */ onClose?: (e: React.MouseEvent) => void; /** * Action when user click `skip` button */ onClickSkip?: (e: React.MouseEvent) => void; } export declare type CoachmarkProps = UnifyCoachmarkProps & Omit; export interface DataTestIdProps { skipButton?: string; prevButton?: string; nextButton?: string; finishButton?: string; card?: string; } export interface ItemsDataTestIdProps { title?: string; desc?: string; } export interface ItemsProps { description?: ReactNode; prependObject?: ReactNode; selector?: string; title?: string; dataTestId?: ItemsDataTestIdProps; } export interface ContainerProps { left?: number; top?: number; reverse?: boolean; arrow?: number; zIndex?: number; show?: boolean; fixed?: boolean; } export interface ActionButtonProps { previous?: boolean; last?: boolean; next?: boolean; xPos?: number; yPos?: number; reverse?: boolean; } export interface ATCBlockerProps { zIndex?: number; } export interface HighlightOptionsProps { padding?: number; } export interface OverlayOptionsProps { clickToClose?: boolean; show?: boolean; } export interface OverlayProps { top: number; left: number; height: number; width: number; highlightOptions: HighlightOptionsProps; zIndex: number; show: boolean; isFixed: boolean; onClick?: React.MouseEventHandler; } export interface OverlayTopProps { x: number; y: number; width: number; highlightPadding: number; zIndex: number; show: boolean; isFixed: boolean; onClick?: React.MouseEventHandler; } export interface OverlayRightProps { y: number; width: number; highlightPadding: number; height: number; documentHeight: number | null; zIndex: number; show: boolean; isFixed: boolean; onClick?: React.MouseEventHandler; } export interface OverlayBottomProps { x: number; y: number; highlightPadding: number; height: number; width: number; documentHeight: number | null; zIndex: number; show: boolean; isFixed: boolean; onClick?: React.MouseEventHandler; } export interface OverlayLeftProps { y: number; highlightPadding: number; height: number; documentHeight: number | null; zIndex: number; show: boolean; isFixed: boolean; onClick?: React.MouseEventHandler; } export interface OverlayCoverProps { top?: number; left?: number; width?: number; height?: number; zIndex?: number; show?: boolean; isFixed?: boolean; } export {};