import "./IconButton.css"; import { AriaLabelingProps, InteractionStatesProps } from "../../shared"; import { ComponentProps, ElementType, ForwardedRef, MouseEventHandler, ReactElement, ReactNode } from "react"; export interface InnerIconButtonProps extends InteractionStatesProps, AriaLabelingProps { /** * The icon button style to use. */ variant?: "solid" | "outline" | "ghost"; /** * The icon button color accent. */ color?: "primary" | "secondary" | "danger" | "inherit"; /** * The icon button shape. */ shape?: "rounded" | "circular"; /** * Whether or not the icon button content should takes additional space. */ condensed?: boolean; /** * Whether or not the icon button should autoFocus on render. */ autoFocus?: boolean | number; /** * An icon button can show a loading indicator. */ loading?: boolean; /** * An icon button can vary in size. */ size?: "2xs" | "xs" | "sm" | "md"; /** * Whether or not the icon button is disabled. */ disabled?: boolean; /** * The icon button type. */ type?: "button" | "submit" | "reset"; /** * @ignore */ onClick?: MouseEventHandler; /** * An HTML element type or a custom React element type to render as. */ as?: ElementType; /** * Default slot override. */ slot?: string; /** * Whether or not the button take up the width of its container. */ fluid?: boolean; /** * React children. */ children: ReactNode; /** * @ignore */ forwardedRef: ForwardedRef; } export declare function InnerIconButton(props: InnerIconButtonProps): JSX.Element; export declare const IconButton: import("../../shared").OrbitComponent<"button", InnerIconButtonProps>; export declare type IconButtonProps = ComponentProps; export declare const embedIconButton: >(element: ReactElement, { size, ...props }: Props) => ReactElement>;