import { type CSSProperties, type HTMLAttributes, type ImgHTMLAttributes, type ReactNode, type Ref } from 'react';
import { type CssLength } from '../../../utils/css';
export type FourWayParallaxGalleryDirection = 'rightToLeft' | 'leftToRight' | 'topToBottom' | 'bottomToTop';
export type FourWayParallaxGalleryItem = string | {
src: string;
alt?: string;
id?: string | number;
loading?: ImgHTMLAttributes['loading'];
decoding?: ImgHTMLAttributes['decoding'];
fetchPriority?: ImgHTMLAttributes['fetchPriority'];
};
export type FourWayParallaxGalleryLayer = {
id?: string | number;
name?: string;
items: readonly FourWayParallaxGalleryItem[];
direction?: FourWayParallaxGalleryDirection;
opacity?: number;
scale?: number;
speed?: number;
};
export type FourWayParallaxGalleryHelpLanguage = 'en' | 'es' | 'fr';
export type FourWayParallaxGalleryHelpCopy = {
title: string;
scrollTitle: string;
scrollText: string;
dragTitle: string;
dragText: string;
doubleClickTitle: string;
doubleClickText: string;
closeButton: string;
};
export type NormalizedFourWayParallaxGalleryItem = {
src: string;
alt: string;
id: string;
loading?: ImgHTMLAttributes['loading'];
decoding?: ImgHTMLAttributes['decoding'];
fetchPriority?: ImgHTMLAttributes['fetchPriority'];
};
export type NormalizedFourWayParallaxGalleryLayer = {
id: string;
name: string;
direction: FourWayParallaxGalleryDirection;
opacity: number;
scale: number;
speed: number;
items: NormalizedFourWayParallaxGalleryItem[];
};
export type FourWayParallaxGalleryProps = Omit, 'children'> & {
layers?: readonly FourWayParallaxGalleryLayer[];
ariaLabel?: string;
background?: CSSProperties['background'];
className?: string;
color?: CSSProperties['color'];
credit?: ReactNode;
disabled?: boolean;
dragVelocityScale?: number;
height?: CssLength;
helpCopy?: Partial>;
helpLanguage?: FourWayParallaxGalleryHelpLanguage;
imageSelection?: 'layered' | 'mixed';
initialSpeed?: number;
loadingLabel?: string;
maxDevicePixelRatio?: number;
maxImageHeight?: number;
maxImageWidth?: number;
maxSpeed?: number;
onError?: (error: Error) => void;
onFallback?: () => void;
onLayerOrderChange?: (order: number[]) => void;
onProgress?: (progress: number) => void;
onReady?: () => void;
progressLabel?: (progress: number) => string;
ref?: Ref;
respectReducedMotion?: boolean;
showCredit?: boolean;
showFullscreenButton?: boolean;
showHelpButton?: boolean;
signature?: ReactNode;
spritesPerLayer?: number;
wheelAcceleration?: number;
width?: CssLength;
};
export declare const FourWayParallaxGallery: ({ ariaLabel, background, className, color, credit, disabled, dragVelocityScale, height, helpCopy, helpLanguage, imageSelection, initialSpeed, layers, loadingLabel, maxDevicePixelRatio, maxImageHeight, maxImageWidth, maxSpeed, onError, onFallback, onLayerOrderChange, onProgress, onReady, progressLabel, ref, respectReducedMotion, showCredit, showFullscreenButton, showHelpButton, signature, spritesPerLayer, style, wheelAcceleration, width, ...props }: FourWayParallaxGalleryProps) => import("react/jsx-runtime").JSX.Element;