import type { ComponentPropsWithoutRef, CSSProperties, ImgHTMLAttributes } from 'react'; import { type CssLength } from '../../../utils/css'; export type IsometricAlbumCoverState = 'sleeved' | 'revealed' | 'playing'; export type IsometricAlbumCoverArtwork = { src: string; alt?: string; srcSet?: ImgHTMLAttributes['srcSet']; sizes?: ImgHTMLAttributes['sizes']; objectPosition?: CSSProperties['objectPosition']; loading?: ImgHTMLAttributes['loading']; decoding?: ImgHTMLAttributes['decoding']; fetchPriority?: ImgHTMLAttributes['fetchPriority']; }; export type IsometricAlbumCoverProps = Omit, 'children' | 'color' | 'style' | 'title'> & { albumTitle: string; artist?: string; artwork: IsometricAlbumCoverArtwork; coverEdgeColor?: string; coverEdgeTextColor?: string; depth?: CssLength; labelBackground?: CSSProperties['background']; labelImageSrc?: string; labelSize?: CssLength; onSpinningChange?: (spinning: boolean) => void; playOnHover?: boolean; revealOnHover?: boolean; size?: CssLength; spinDurationMs?: number; spinning?: boolean; state?: IsometricAlbumCoverState; style?: CSSProperties; togglePlaybackOnClick?: boolean; }; export declare const IsometricAlbumCover: ({ "aria-hidden": ariaHidden, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, albumTitle, artist, artwork, className, coverEdgeColor, coverEdgeTextColor, depth, href, labelBackground, labelImageSrc, labelSize, onBlur, onClick, onFocus, onKeyDown, onPointerEnter, onPointerLeave, onSpinningChange, playOnHover, revealOnHover, role, size, spinDurationMs, spinning, state: stateProp, style, tabIndex, togglePlaybackOnClick, ...props }: IsometricAlbumCoverProps) => import("react/jsx-runtime").JSX.Element;