import { Themes } from "../../constants.js";
import { Breakpoint } from "../../types.js";
import { Variants } from "./Button.constants.js";
import { AllHTMLAttributes, CSSProperties, ElementType, MouseEvent, ReactNode } from "react";

//#region src/components/Button/Button.types.d.ts
interface ButtonProps extends Omit<AllHTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, 'label' | 'onClick' | 'wrap'> {
  children?: ReactNode;
  disabled?: boolean;
  element?: ElementType;
  fullStyle?: boolean;
  fullWidth?: boolean;
  href?: string;
  icon?: ReactNode;
  iconHidden?: boolean | Breakpoint;
  iconOnly?: boolean | 'auto' | Breakpoint;
  iconPosition?: 'left' | 'right';
  inlineStyle?: boolean;
  label?: ReactNode;
  target?: HTMLAnchorElement['target'];
  theme?: Themes;
  truncate?: boolean;
  type?: 'button' | 'reset' | 'submit';
  underlined?: boolean;
  variant?: `${Variants}`;
  wrap?: boolean;
  onClick?: (event: MouseEvent<HTMLElement>) => void;
  wrapperClassName?: string;
  wrapperStyles?: CSSProperties;
  disableClickTracking?: boolean;
}
//#endregion
export { ButtonProps };
//# sourceMappingURL=Button.types.d.ts.map