import React from "react"; import type { AnimationType } from "@shared/components/animation-wrapper"; import { ResponsiveSize } from "@shared/components/brand-button/types"; import { Fill, Size } from "@shared/components/material-icon/types"; import { CheckPlansProps } from "@shared/types/micro-components"; export type ButtonProps = { showButtonAs?: | "solid" | "text" | "unstyled" | "button-with-icon" | "text-with-icon"; buttonVariant?: "primary_brand" | "secondary" | "primary_inverse"; buttonLabel?: string; buttonPrefix?: string; badge?: string; badgeIcon?: string; buttonIconName?: string; buttonIconPosition?: "left" | "right"; href?: string; target?: "_self" | "_blank"; anchorId?: string; preserveQueryParameters?: boolean; clickToOpen?: string; tabmodalNameToOpen?: string; idNameToOpen?: string; preDefinedFunctionExecution?: string; renderCheckPlans?: (overrides?: CheckPlansProps) => React.ReactNode; linkClassName?: string; buttonClassName?: string; linkVariant?: "unstyled" | "default"; fullWidth?: boolean; size?: ResponsiveSize; onClick?: ( event: React.MouseEvent ) => void; children?: React.ReactNode; modalTitle?: string; modalSubtitle?: string; onModalButtonClick?: (id?: string) => void; iconName?: string; iconFill?: Fill; iconSize?: Size; disableAnimation?: boolean; animationType?: AnimationType | AnimationType[]; };