import { type CSSProperties, type HTMLAttributes, type ImgHTMLAttributes, type ReactNode, type Ref } from 'react'; import { type CssLength } from '../../../utils/css'; export type SineWaveGalleryImageItem = string | { type?: 'image'; src: string; alt?: string; id?: string | number; objectPosition?: CSSProperties['objectPosition']; loading?: ImgHTMLAttributes['loading']; fetchPriority?: ImgHTMLAttributes['fetchPriority']; }; export type SineWaveGallerySignItem = { type: 'sign'; heading: ReactNode; label: string; id?: string | number; color?: CSSProperties['backgroundColor']; textColor?: CSSProperties['color']; }; export type SineWaveGalleryItem = SineWaveGalleryImageItem | SineWaveGallerySignItem; export type NormalizedSineWaveGalleryItem = { kind: 'image'; src: string; alt: string; id: string; objectPosition?: CSSProperties['objectPosition']; loading?: ImgHTMLAttributes['loading']; fetchPriority?: ImgHTMLAttributes['fetchPriority']; } | { kind: 'sign'; heading: ReactNode; label: string; id: string; color: CSSProperties['backgroundColor']; textColor: CSSProperties['color']; }; export type SineWaveGalleryProps = Omit, 'children'> & { items?: readonly SineWaveGalleryItem[]; ariaLabel?: string; intro?: ReactNode; itemSize?: CssLength; itemAspectRatio?: CSSProperties['aspectRatio']; scrollHeight?: CssLength; introHeight?: CssLength; outroHeight?: CssLength; amplitude?: number; frequency?: number; phaseSpeed?: number; rangeOffset?: number; smoothing?: number; spread?: number; background?: CSSProperties['background']; color?: CSSProperties['color']; mutedColor?: CSSProperties['color']; debug?: boolean; disabled?: boolean; respectReducedMotion?: boolean; ref?: Ref; }; export declare const SineWaveGallery: ({ ariaLabel, background, className, color, debug, disabled, frequency, intro, itemAspectRatio, introHeight, itemSize, items, mutedColor, outroHeight, phaseSpeed, rangeOffset, ref, respectReducedMotion, scrollHeight, smoothing, spread, amplitude, style, ...props }: SineWaveGalleryProps) => import("react/jsx-runtime").JSX.Element;