import { type CSSProperties, type HTMLAttributes, type ImgHTMLAttributes, type ReactNode } from 'react';
import { type CssLength } from '../../../utils/css';
export type EndlessCurlGalleryItem = string | {
src: string;
alt?: string;
id?: string | number;
loading?: ImgHTMLAttributes['loading'];
fetchPriority?: ImgHTMLAttributes['fetchPriority'];
};
export type NormalizedEndlessCurlGalleryItem = {
src: string;
alt: string;
id: string;
loading?: ImgHTMLAttributes['loading'];
fetchPriority?: ImgHTMLAttributes['fetchPriority'];
};
export type EndlessCurlGalleryProps = Omit, 'children' | 'onScroll'> & {
items?: readonly EndlessCurlGalleryItem[];
ariaLabel?: string;
title?: ReactNode;
signature?: ReactNode;
credits?: ReactNode;
controlHint?: ReactNode;
showTitle?: boolean;
showCredits?: boolean;
showSignature?: boolean;
showControlHint?: boolean;
showFullscreenButton?: boolean;
showLoadingOverlay?: boolean;
height?: CssLength;
bandWidth?: number;
bandColor?: CSSProperties['backgroundColor'];
backgroundColor?: CSSProperties['backgroundColor'];
curvatureIntensity?: number;
curvatureFrequency?: number;
edgeSoftness?: number;
imageInset?: number;
imageGap?: number;
scrollSpeed?: number;
wheelMultiplier?: number;
dragMultiplier?: number;
touchMultiplier?: number;
keyboardStep?: number;
inertia?: number;
smoothing?: number;
dragSmoothing?: number;
respectReducedMotion?: boolean;
};
export declare const EndlessCurlGallery: ({ items, ariaLabel, title, signature, credits, controlHint, showTitle, showCredits, showSignature, showControlHint, showFullscreenButton, showLoadingOverlay, height, bandWidth, bandColor, backgroundColor, curvatureIntensity, curvatureFrequency, edgeSoftness, imageInset, imageGap, scrollSpeed, wheelMultiplier, dragMultiplier, touchMultiplier, keyboardStep, inertia, smoothing, dragSmoothing, respectReducedMotion, className, style, ...props }: EndlessCurlGalleryProps) => import("react/jsx-runtime").JSX.Element;