import { MouseEventHandler, CSSProperties, ReactNode, DetailedHTMLProps, ButtonHTMLAttributes } from 'react';
/** @dev Shape of button */
declare const ButtonShapes: ["primary", "secondary", "tertiary"];
export declare type ButtonShape = typeof ButtonShapes[number];
/** @dev Html button type, this is native HTML button type */
declare const ButtonHTMLTypes: ["submit", "button", "reset"];
export declare type ButtonHTMLType = typeof ButtonHTMLTypes[number];
/** @dev Export enum component size */
declare const ComponentSizes: ["large", "medium", "small"];
export declare type ComponentSize = typeof ComponentSizes[number];
/** @dev Export interface props */
export declare type StyledButtonProps = DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement> & {
    shape?: ButtonShape | ButtonShape[0];
    size?: ComponentSize | ComponentSize[1];
    loading?: boolean | false;
};
/** @dev Export interface props of styled button component*/
export interface ButtonProps {
    onClick?: MouseEventHandler<HTMLButtonElement>;
    children?: ReactNode;
    containerStyle?: CSSProperties;
    textStyle?: CSSProperties;
    type?: ButtonHTMLType;
    shape?: ButtonShape;
    id?: string;
    text?: string;
    className?: string;
    textClassName?: string;
    disabled?: boolean | false;
    size?: ComponentSize | ComponentSize[1];
    loading?: boolean | false;
}
export {};
