import { type CSSProperties, type HTMLAttributes, type Ref } from 'react';
import { type CssLength } from '../../../utils/css';
type PerspectiveIconTracking = 'window' | 'local';
type PerspectiveIconProps = Omit, 'children' | 'color'> & {
size?: CssLength;
perspective?: CssLength;
depth?: CssLength;
hoverDepth?: CssLength;
shadowDepth?: CssLength;
shadowBlur?: CssLength;
maxRotation?: number;
colors?: readonly string[];
backgroundColor?: string;
colorOpacity?: number;
shadowOpacity?: number;
interactive?: boolean;
animated?: boolean;
tracking?: PerspectiveIconTracking;
ref?: Ref;
};
type PerspectiveIconStyle = CSSProperties & {
'--perspective-icon-size'?: string;
'--perspective-icon-perspective'?: string;
'--perspective-icon-depth'?: string;
'--perspective-icon-hover-depth'?: string;
'--perspective-icon-shadow-depth'?: string;
'--perspective-icon-shadow-blur'?: string;
'--perspective-icon-background'?: string;
'--perspective-icon-color-opacity'?: string;
'--perspective-icon-shadow-opacity'?: string;
};
declare const PerspectiveIcon: ({ className, style, size, perspective, depth, hoverDepth, shadowDepth, shadowBlur, maxRotation, colors, backgroundColor, colorOpacity, shadowOpacity, interactive, animated, tracking, title, role, ref, onPointerMove, onPointerLeave, "aria-hidden": ariaHidden, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...props }: PerspectiveIconProps) => import("react/jsx-runtime").JSX.Element;
export { PerspectiveIcon };
export type { PerspectiveIconProps, PerspectiveIconStyle, PerspectiveIconTracking, };