import { ButtonHTMLAttributes, ReactNode } from 'react';
export declare enum ButtonSize {
SMALL = "small",
MEDIUM = "medium",
LARGE = "large",
XLARGE = "xlarge"
}
export declare const BUTTON_VARIANT: string[];
export declare const ButtonGroup: (props: any) => import("react/jsx-runtime").JSX.Element;
type CommonButtonProps = ButtonHTMLAttributes & {
size?: string | ButtonSize;
variant?: string;
tooltip?: string;
onClick?: (e?: any) => void;
onFocus?: () => void;
isLoading?: boolean;
isDisabled?: boolean;
isCircle?: boolean;
isExpanded?: boolean;
debounceTime?: number;
children?: ReactNode;
dataId?: string;
'data-testid'?: string;
};
type ButtonTextProps = CommonButtonProps & {
kind: 'button';
text: string;
};
type IconButtonProps = CommonButtonProps & {
kind: 'iconButton';
iconColor?: string;
iconBefore?: string;
iconAfter?: string;
iconAriaLabel: string;
};
type IconTextButtonProps = CommonButtonProps & {
kind: 'iconTextButton';
text: string;
iconColor?: string;
iconBefore?: string;
iconAfter?: string;
};
export type ButtonProps = (Omit & {
kind?: 'button';
}) | IconButtonProps | IconTextButtonProps;
export declare const Button: import('react').ForwardRefExoticComponent<(Omit & {
size?: string | ButtonSize;
variant?: string;
tooltip?: string;
onClick?: (e?: any) => void;
onFocus?: () => void;
isLoading?: boolean;
isDisabled?: boolean;
isCircle?: boolean;
isExpanded?: boolean;
debounceTime?: number;
children?: ReactNode;
dataId?: string;
'data-testid'?: string;
} & {
kind: "iconButton";
iconColor?: string;
iconBefore?: string;
iconAfter?: string;
iconAriaLabel: string;
} & import('react').RefAttributes & {
dataId?: string;
}, "ref"> | Omit & {
size?: string | ButtonSize;
variant?: string;
tooltip?: string;
onClick?: (e?: any) => void;
onFocus?: () => void;
isLoading?: boolean;
isDisabled?: boolean;
isCircle?: boolean;
isExpanded?: boolean;
debounceTime?: number;
children?: ReactNode;
dataId?: string;
'data-testid'?: string;
} & {
kind: "iconTextButton";
text: string;
iconColor?: string;
iconBefore?: string;
iconAfter?: string;
} & import('react').RefAttributes & {
dataId?: string;
}, "ref"> | Omit & {
kind?: "button";
} & import('react').RefAttributes & {
dataId?: string;
}, "ref">) & import('react').RefAttributes>;
export {};