import { CSSProperties, ReactNode } from 'react'; export type ButtonTypes = 'button' | 'submit' | 'reset'; export type ClickSize = 'tiny' | 'small' | 'medium' | 'big'; export interface InteractiveProps { id?: string; title: string; altTitle?: string; className?: string; isLoading?: boolean; isDisabled?: boolean; children?: ReactNode; style?: CSSProperties; size?: ClickSize; leftIcon?: ReactNode; rightIcon?: ReactNode; } export interface LinkProps extends InteractiveProps { route: string; asRoute?: string; target?: string; rel?: string; isExternal?: boolean; } export interface ButtonProps extends InteractiveProps { onClick?: () => void; type?: ButtonTypes; children?: ReactNode; }