import { ButtonVariant } from "./useButton"; import { ComponentProps, ElementType, ReactNode } from "react"; import { InteractionProps, InternalProps, OmitInternalProps, SlotProps, StyledComponentProps } from "../../shared"; import { ResponsiveProp } from "../../styling"; export declare type AbstractButtonProps = InternalProps & InteractionProps & Omit, "autoFocus"> & { /** * 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<"sm" | "md">; /** * The button type. */ type?: "button" | "submit" | "reset"; /** * The button style to use. */ variant?: ButtonVariant; }; declare const DefaultElement = "button"; export interface InnerButtonProps extends AbstractButtonProps, SlotProps { /** * React children. */ children: ReactNode; } export declare function InnerButton(props: InnerButtonProps): JSX.Element; export declare namespace InnerButton { var defaultElement: string; } /** * A button indicates a possible user action. * * [Documentation](https://orbit.sharegate.design/?path=/docs/button--default-story) */ export declare const Button: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes>; export declare type ButtonProps = ComponentProps; /** * [Documentation](https://orbit.sharegate.design/?path=/docs/button--default-story) */ export declare const ButtonAsLink: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes, import("react").DetailedHTMLProps, HTMLAnchorElement>>>, "ref"> & import("react").RefAttributes>; export declare type ButtonAsLinkProps = ComponentProps; export {};