import { AnchorHTMLAttributes, ButtonHTMLAttributes, ReactNode } from "react"; import { Link, LinkProps } from "react-router-dom"; import { SpaceProps } from "styled-system"; export declare const sizes: { readonly SM: "sm"; readonly MD: "md"; }; export declare const variants: { readonly PRIMARY: "primary"; readonly SECONDARY: "secondary"; readonly TERTIARY: "tertiary"; readonly TEXT: "text"; readonly DANGER: "danger"; readonly SUBTLE: "subtle"; readonly SUCCESS: "success"; }; export declare type Sizes = typeof sizes[keyof typeof sizes]; export declare type Variants = typeof variants[keyof typeof variants]; declare type ButtonTypes = ButtonHTMLAttributes | AnchorHTMLAttributes | LinkProps; export declare type ButtonProps = { variant?: Variants; size?: Sizes; startIcon?: ReactNode; endIcon?: ReactNode; fullWidth?: boolean; as?: "a" | "button" | typeof Link; href?: string; external?: boolean; isLoading?: boolean; disabled?: boolean; } & ButtonTypes & SpaceProps; export declare type ButtonThemeVariant = { background: string; backgroundActive: string; backgroundHover: string; border: string | number; borderColorHover: string; boxShadow: string; boxShadowActive: string; color: string; }; export declare type ButtonTheme = { [key in Variants]: ButtonThemeVariant; }; export {};