import { ButtonVariant } from "./useButton"; import { ComponentProps, ElementType, ReactElement, ReactNode } from "react"; import { InteractionProps, InternalProps, OmitInternalProps, SlotProps, StyledComponentProps } from "../../shared"; import { ResponsiveProp } from "../../styling"; export declare type AbstractIconButtonProps = InternalProps & InteractionProps & Omit, "autoFocus"> & { /** * See [WCAG](https://www.w3.org/TR/WCAG20-TECHS/ARIA14.html). */ "aria-label": string; /** * Whether or not the button should autoFocus on render. */ autoFocus?: boolean | number; /** * Whether or not the button take up the width of its container. */ fluid?: ResponsiveProp; /** * Whether or not the button should inherit it's parent style. */ inherit?: boolean; /** * A button can show a loading indicator. */ loading?: boolean; /** * A button can vary in size. */ size?: ResponsiveProp<"2xs" | "xs" | "sm" | "md">; /** * The icon button type. */ type?: "button" | "submit" | "reset"; /** * The button style to use. */ variant?: ButtonVariant; }; declare const DefaultElement = "button"; export interface InnerIconButtonProps extends AbstractIconButtonProps, SlotProps { /** * React children. */ children: ReactNode; } export declare function InnerIconButton(props: InnerIconButtonProps): JSX.Element; export declare namespace InnerIconButton { var defaultElement: string; } /** * [Documentation](https://orbit.sharegate.design/?path=/docs/button--default-story) */ export declare const IconButton: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes>; export declare type IconButtonProps = ComponentProps; export declare const embedIconButton: >(element: ReactElement, { size, ...props }: Props) => ReactElement>; /** * [Documentation](https://orbit.sharegate.design/?path=/docs/button--default-story) */ export declare const IconButtonAsLink: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes, import("react").DetailedHTMLProps, HTMLAnchorElement>>>, "ref"> & import("react").RefAttributes>; export declare type IconButtonAsLinkProps = ComponentProps; export {};