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;