import { type CSSProperties, type HTMLAttributes, type ImgHTMLAttributes, type MouseEventHandler, type ReactNode } from 'react';
import { type CssLength } from '../../../utils/css';
export type VisionProSpotlightImage = string | {
alt?: string;
fetchPriority?: ImgHTMLAttributes['fetchPriority'];
loading?: ImgHTMLAttributes['loading'];
objectPosition?: CSSProperties['objectPosition'];
sizes?: string;
src: string;
srcSet?: string;
};
export type VisionProSpotlightCard = {
ariaLabel?: string;
disabled?: boolean;
href?: string;
id?: string | number;
image: VisionProSpotlightImage;
onSelect?: (card: VisionProSpotlightCard) => void;
rel?: string;
target?: string;
year?: ReactNode;
};
export type VisionProSpotlightAction = {
ariaLabel?: string;
disabled?: boolean;
href?: string;
label: ReactNode;
onClick?: MouseEventHandler;
rel?: string;
target?: string;
};
export type VisionProSpotlightPageProps = Omit, 'title'> & {
action?: null | VisionProSpotlightAction;
ariaLabel?: string;
backgroundImage?: VisionProSpotlightImage;
description?: ReactNode;
leftCards?: readonly VisionProSpotlightCard[];
maxWidth?: CssLength;
maxTilt?: number;
minHeight?: CssLength;
movementStrength?: number;
perspective?: CssLength;
rightCards?: readonly VisionProSpotlightCard[];
sideRotation?: number;
title?: ReactNode;
};
type RootCssProperties = CSSProperties & Record<'--vision-spotlight-max-width' | '--vision-spotlight-min-height' | '--vision-spotlight-perspective' | '--vision-spotlight-side-rotation', string>;
export declare const VisionProSpotlightPage: ({ action, ariaLabel, backgroundImage, children, className, description, leftCards, maxWidth, maxTilt, minHeight, movementStrength, onPointerLeave, onPointerMove, perspective, rightCards, sideRotation, style, title, ...mainProps }: VisionProSpotlightPageProps) => import("react/jsx-runtime").JSX.Element;
export type { RootCssProperties as VisionProSpotlightPageStyle };