import { MotionValue } from 'motion/react'; import { ElementType, HTMLAttributes, JSX, MouseEvent, ReactNode } from 'react'; type Interaction = 'possible' | 'impossible'; type Use = { use?: 'div'; } | { use: 'a'; href: string; rel?: 'noopener'; target?: '_blank'; } | { use: 'button'; } | { use: ElementType; }; type TooltipOptions = { delay?: number; animate?: boolean; }; type BaseProps = HTMLAttributes & { children: ReactNode; tooltip?: ReactNode; tooltipOptions?: TooltipOptions; mouseX: MotionValue; pointerX?: MotionValue; pointerY?: MotionValue; glossMode?: 'static' | 'subtle' | 'full'; hideGloss?: boolean; mute?: boolean; pressAnimation?: boolean; variant?: 'default' | 'glass'; onClick?: (e: MouseEvent) => void; }; type IllustrativeProps = BaseProps & { use?: 'div'; interaction?: never; expansion?: never; }; type InteractiveElementProps = BaseProps & ({ use: 'a'; href: string; rel?: 'noopener'; target?: '_blank'; } | { use: 'button'; } | { use: ElementType; }); type InteractiveProps = InteractiveElementProps & { interaction?: Interaction; expansion?: never; }; type ExpansionProps = InteractiveElementProps & { expansion: 'expanded' | 'collapsed'; interaction?: Interaction; }; type Props = IllustrativeProps | InteractiveProps | ExpansionProps; export type ExternalDockMotionItemSignature = (props: Omit & Use) => JSX.Element; export declare const DockMotionItem: (props: Props) => import("react/jsx-runtime").JSX.Element; export {};