import React from "react"; /** * Allowed variants of Button */ export declare const ButtonTypes: readonly ["default", "subtle", "link", "warning", "danger", "disabled", "selected", "outline", "black-outline", "blue-outline"]; export declare const ButtonTextColors: readonly ["default", "primary"]; /** * Sizes of Button */ export declare const ButtonSizes: readonly ["default", "xs", "sm", "lg", "full"]; export interface ButtonProps extends Partial> { /** * Title of Button */ title: string; /** * Type of button * * Manipulates colors and styles of button * * @see ButtonTypes */ variant: typeof ButtonTypes[number]; /** * Size of button * * @default "default" * @see ButtonSizes */ size?: typeof ButtonSizes[number]; /** * JSX.Element for button prepend * * JSX.Element that'll be placed on the start of the button, * some use cases include Icons to be placed before. * * @see JSX.Element */ prepend?: JSX.Element; /** * JSX.Element for button append * * JSX.Element that'll be placed on the end of the button, * some use cases include Icons to be placed after. * * @see JSX.Element */ append?: JSX.Element; /** * Determines if the button is currently in a loading state * * If loading is true, the onClick action is ignored */ loading?: boolean; /** * Override text color of button */ textColor?: typeof ButtonTextColors[number] | string; } export declare const Button: ({ title, variant, prepend, append, size, loading, onClick, className, textColor, ...props }: ButtonProps) => JSX.Element; declare const _default: React.MemoExoticComponent<({ title, variant, prepend, append, size, loading, onClick, className, textColor, ...props }: ButtonProps) => JSX.Element>; export default _default;