import { ButtonHTMLAttributes } from 'react'; import { Color } from '../../themes/types'; export declare namespace ButtonComponent { type Props = { label?: string; buttontype?: ButtonType; onClick?: (event: React.MouseEvent) => void; disabled?: boolean; icon?: React.ReactNode; variant?: ButtonVariant; secondary?: boolean; fullWidth?: boolean; cursor?: string; leftIcon?: React.ReactNode; rightIcon?: React.ReactNode; buttonElementProps?: ButtonHTMLAttributes; isSplitButton?: boolean; }; enum Variant { outline = "outline", filled = "filled", filter = "filter", ghost = "ghost", ghostSecondary = "ghostSecondary" } type ButtonVariant = keyof typeof Variant; type ButtonWrapper = { buttontype?: ButtonType; disabled?: boolean; cursor?: string; variant?: ButtonVariant; secondary?: boolean; fullWidth?: boolean; label: string; rightIcon: React.ReactNode; leftIcon: React.ReactNode; isSplitButton?: boolean; }; enum ButtonEnum { primary = 0, secondary = 1, error = 2, success = 3 } type ButtonColor = { backgroundColor: string; borderColor: string; textColor: string; focusColor: string; hoverColor: string; disabledBackgroundColor: string; disabledTextColor: string; disabledBorderColor: string; disabledOutlineTextColor: string; disabledOutlineBorderColor: string; outlineHoverColor: string; outlineTextColor: string; outlineBorderColor: string; outlineFocusColor: string; }; type FilterButtonColor = ButtonColor & { hoverTextColor: string; hoverBorderColor: string; }; type ButtonColors = { primary: ButtonColor; secondary: ButtonColor; error: ButtonColor; success: ButtonColor; filter: FilterButtonColor; ghost: ButtonColor; ghostSecondary: ButtonColor; }; type ButtonType = keyof typeof ButtonEnum; type SwitchButtonStyles = { disabled?: boolean; theme: Color; buttontype?: ButtonType; variant?: ButtonVariant; }; }