import { CSSProp } from 'styled-components'; import { AnchorHTMLAttributes, ButtonHTMLAttributes, ReactNode } from 'react'; import { TThemeArrayOrValueCSS } from '../../../design/designFunctions/arrayToCssValues'; import { TGenerateThemeDesignForComponentProps } from '../../../design/designFunctions/generateThemeDesignForComponent'; import { TComponentSizesMid } from '../../../types/TComponentSizes'; export type TButton = { sizeC?: TComponentSizesMid; wide?: boolean; children?: ReactNode; externalStyle?: CSSProp; disabled?: boolean; notAButton?: boolean; noSize?: boolean; borderRadius?: TThemeArrayOrValueCSS | false; appendClassNameOnStyle?: boolean; } & TGenerateThemeDesignForComponentProps; type ButtonHTML = ButtonHTMLAttributes; type AnchorHTML = AnchorHTMLAttributes; export type TButtonWithNativeAttrs = TButton & (({ as?: 'button'; } & ButtonHTML) | ({ as: 'a'; } & AnchorHTML)); export {};