import React, { type AriaRole } from "react";
import { type VibeComponentProps } from "../../types";
export interface ClickableProps extends VibeComponentProps {
    /**
     * The HTML element or custom component used as the root.
     */
    elementType?: keyof JSX.IntrinsicElements | string;
    /**
     * The content inside the clickable element.
     */
    children?: React.ReactNode;
    /**
     * The ARIA role of the element.
     */
    role?: AriaRole;
    /**
     * Callback fired when the element is clicked.
     */
    onClick?: (event: React.MouseEvent | React.KeyboardEvent) => void;
    /**
     * If true, allows text selection inside the element.
     */
    enableTextSelection?: boolean;
    /**
     * Callback fired when the mouse button is pressed down on the element.
     */
    onMouseDown?: (event: React.MouseEvent) => void;
    /**
     * Callback fired when the mouse enters the element.
     */
    onMouseEnter?: (event: React.MouseEvent) => void;
    /**
     * Callback fired when the mouse leaves the element.
     */
    onMouseLeave?: (event: React.MouseEvent) => void;
    /**
     * The label of the element for accessibility.
     */
    ariaLabel?: string;
    /**
     * If true, hides the element from assistive technologies.
     */
    ariaHidden?: boolean;
    /**
     * Indicates the presence of a popup associated with the element.
     */
    ariaHasPopup?: boolean | string;
    /**
     * If true, indicates that the associated popup is open.
     */
    ariaExpanded?: boolean;
    /**
     * The tab order of the element.
     */
    tabIndex?: string | number;
    /**
     * If true, the element is disabled.
     */
    disabled?: boolean;
    /**
     * Inline styles applied to the element.
     */
    style?: React.CSSProperties;
}
declare const Clickable: React.ForwardRefExoticComponent<ClickableProps & React.RefAttributes<HTMLElement>>;
export default Clickable;
