/// import type { ComponentType, CSSProperties, DetailedHTMLProps, ForwardRefExoticComponent, HTMLProps, ImgHTMLAttributes, TouchEvent as ReactTouchEvent } from 'react'; import type { Modifier, Options, Placement } from '@popperjs/core'; export declare type Interactions = { touch: 'touch'; tap: 'tap'; doubleTap: 'double_tap'; press: 'press'; click: 'click'; hover: 'hover'; }; export declare type MagnifiedImagePosition = Placement | 'over'; export declare type ActivationChangeEvent = { isActive: boolean; }; export declare type OnIsActiveChangedHandler = (event: ActivationChangeEvent) => void; export declare type TimerHandle = { name: string; id: number | NodeJS.Timeout; }; export declare type DetectedInputType = { isMouseDetected: boolean; isTouchDetected: boolean; }; export declare type Point = { x: number; y: number; }; export declare type PositionChangeEvent = { isPositionOutside: boolean; position: Point; }; export declare type TouchEvent = { e: ReactTouchEvent; position: Point; }; export declare type InputType = { mouse: 'mouse'; touch: 'touch'; }; export declare type ContainerDimensions = { height: number; width: number; }; export declare type MagnifiedImageProps = DetailedHTMLProps, HTMLImageElement> & { height: number; width: number; }; export declare type ImageProps = Omit, HTMLImageElement>, 'height' | 'width' | 'onLoad'> & { height?: string | number; width?: string | number; onLoad?: (e: Event) => void; }; export interface LensProps extends HTMLProps { cursorOffset: Point; fadeDurationInMs?: number; isActive?: boolean; isPositionOutside?: boolean; position: Point; } export interface HintProps { isMouseDetected?: boolean; isTouchDetected?: boolean; hintTextMouse: string; hintTextTouch: string; style?: CSSProperties | null; } export declare type PortalProps = Omit, 'modifiers' | 'placement'> & { className?: string; id?: string; style?: CSSProperties; placement?: MagnifiedImagePosition; dataTestId?: string; modifiers?: Modifier[]; horizontalOffset?: number; verticalOffset?: number; }; export interface MagnifyContainerProps extends Omit, 'height' | 'width'> { scale?: number; height?: number; width?: number; } export declare type ChildProps = { isActive: boolean; isPositionOutside: boolean; elementDimensions: ContainerDimensions; position: Point; }; export interface CursorPositionProps extends HTMLProps { activationInteractionMouse: Interactions['click'] | Interactions['hover']; activationInteractionTouch: Interactions['press'] | Interactions['tap'] | Interactions['touch']; children: (props: ChildProps) => JSX.Element; hoverDelayInMs?: number; hoverOffDelayInMs?: number; isEnabled?: boolean; onActivationChanged?: (event: ActivationChangeEvent) => void; onDetectedEnvironmentChanged?: (detectedInputType: DetectedInputType) => void; onPositionChanged?: (event: PositionChangeEvent) => void; pressDurationInMs?: number; pressMoveThreshold?: number; shouldStopTouchMovePropagation?: boolean; tabIndex?: number; tapDurationInMs?: number; tapMoveThreshold?: number; } export interface ReactImageMagnifyProps extends Omit { activationInteractionHint?: Interactions['click'] | Interactions['hover']; activationInteractionMouse?: Interactions['click'] | Interactions['hover']; activationInteractionTouch?: Interactions['press'] | Interactions['tap'] | Interactions['touch']; fadeDurationInMs?: number; hintComponent?: ComponentType; hintProps?: HintProps & any; hoverDelayInMs?: number; hoverOffDelayInMs?: number; imageComponent?: ComponentType>; imageProps: ImageProps; lensComponent?: ForwardRefExoticComponent; lensProps?: LensProps; magnifyContainerProps?: MagnifyContainerProps; magnifiedImageComponent?: ComponentType>; magnifiedImageProps: MagnifiedImageProps; pressDuration?: number; pressMoveThreshold?: number; portalProps?: PortalProps; shouldHideHintAfterFirstActivation?: boolean; shouldUsePositiveSpaceLens?: boolean; } //# sourceMappingURL=types.d.ts.map