import React, { CSSProperties } from 'react'; interface PrimarySwatch { color: string; color50: string; color100: string; color200: string; color300: string; color400: string; color500: string; color600: string; color700: string; color800: string; color900: string; } interface ResolutionProps { sm?: string | number; md?: string | number; lg?: string | number; xl?: string | number; xxl?: string | number; } interface ButtonStyle { type?: React.ButtonHTMLAttributes["type"]; title?: string; isLoading?: boolean; text?: string; textStyle?: TextStyleProps; backgroundColor?: string; spinnerStyle?: SpinnerProps; hoverbackGroundColor?: string; disabledColor?: string; activeColor?: string; prefixIcon?: React.ReactNode; suffixIcon?: React.ReactNode; fontSize?: number; animationDuration?: string; borderRadius?: string; width?: string; height?: string; padding?: string; isDisabled?: boolean; isOutlined?: boolean; } interface SizingProps { padding?: React.CSSProperties["padding"]; margin?: React.CSSProperties["margin"]; height?: React.CSSProperties["height"]; width?: React.CSSProperties["width"]; minHeight?: React.CSSProperties["minHeight"]; minWidth?: React.CSSProperties["minWidth"]; maxHeight?: React.CSSProperties["maxHeight"]; maxWidth?: React.CSSProperties["maxWidth"]; borderRadius?: React.CSSProperties["borderRadius"]; border?: React.CSSProperties["border"]; gap?: React.CSSProperties["gap"]; } interface SpinnerProps { color?: string; size?: string; stockColor?: string; strokeWidth?: number; stockOpacity?: number; animationDuration?: string; } interface ColorProps { background?: string; hoverColor?: string; activeColor?: string; inActiveColor?: string; disabledColor?: string; focusedColor?: string; unfocusedColor?: string; animationDuration?: string; } interface ColorUtilProps { r: number; g: number; b: number; } interface TextStyleProps { fontFamily?: React.CSSProperties["fontFamily"]; fontSize?: React.CSSProperties["fontSize"]; fontWeight?: React.CSSProperties["fontWeight"]; color?: React.CSSProperties["color"]; textAlign?: React.CSSProperties["textAlign"]; textWrap?: React.CSSProperties["textWrap"]; textTransform?: React.CSSProperties["textTransform"]; textDecoration?: React.CSSProperties["textDecoration"]; textOverflow?: React.CSSProperties["textOverflow"]; whiteSpace?: React.CSSProperties["whiteSpace"]; overflow?: React.CSSProperties["overflow"]; onClick?: (event: React.MouseEvent) => void | undefined; lineClamp?: number; } interface InputStyleProps extends TextStyleProps { isOutlined?: boolean; fillColor?: string; borderStyle?: "underline" | "outlined" | "no-border"; borderRadius?: string; borderColor?: string; focusedBorderColor?: string; errorBorderColor?: string; passwordLetterSpacing?: string; resize?: CSSProperties["resize"]; maxLines?: CSSProperties["maxLines"]; } interface IconStyle { size?: string | number; color?: string; } interface StatusColor { success?: string; error?: string; warning?: string; info?: string; } interface FloatingAreaStyle { height?: string; width?: string; padding?: string; left?: string; right?: string; top?: string; bottom?: string; zIndex?: number; } interface FloatingActionButtonStyle extends FloatingAreaStyle { iconStyle?: IconStyle; background?: string; hoverBackground?: string; borderRadius?: string; boxShadow?: string; children?: React.ReactNode; animationDuration?: string; } interface IconButtonProps extends ColorProps, SizingProps { icon?: React.ReactNode; iconStyle?: IconStyle; isTransparent?: boolean; size?: string; width?: string; height?: string; animationDuration?: string; isDisabled?: boolean; } interface ChipStyleProps extends SizingProps { background?: string; textStyle?: TextStyleProps; } interface ImageProps extends SizingProps { src?: React.ImgHTMLAttributes["src"]; alt?: React.ImgHTMLAttributes["alt"]; loading?: React.ImgHTMLAttributes["loading"]; srcSet?: React.ImgHTMLAttributes["srcSet"]; sizes?: React.ImgHTMLAttributes["sizes"]; imageFit?: React.CSSProperties["objectFit"]; } interface TabStyle extends ColorProps { iconStyle?: IconStyle; textStyle?: TextStyleProps; padding?: React.CSSProperties["padding"]; borderRadius?: React.CSSProperties["borderRadius"]; } export type { ButtonStyle as B, ColorProps as C, FloatingAreaStyle as F, IconStyle as I, PrimarySwatch as P, ResolutionProps as R, SizingProps as S, TextStyleProps as T, TabStyle as a, IconButtonProps as b, ColorUtilProps as c, SpinnerProps as d, InputStyleProps as e, StatusColor as f, FloatingActionButtonStyle as g, ChipStyleProps as h, ImageProps as i };