import type { CSSProperties, AnchorHTMLAttributes, ButtonHTMLAttributes, } from 'react' import type { Classes } from './styles' export { spacings, SpacingEnum, spacingToRem } from '@toptal/picasso-provider' export type { Sizes, SizeType, SpacingType, PicassoSpacing, } from '@toptal/picasso-provider' export interface BaseProps { /** Classnames applied to root element */ className?: string /** Style applied to root element */ style?: CSSProperties 'data-testid'?: string 'data-private'?: boolean | 'lipsum' } export interface JssProps { classes: Classes } export interface TextLabelProps { /** Defines if the text should be transformed to title case */ titleCase?: boolean } export type StandardProps = BaseProps & Partial // Take all props, excluding props from JssProps // type and other passed props // // example: // OmitInternalProps // OmitInternalProps export type OmitInternalProps = Pick< T, Exclude > export interface NamedComponent

{ defaultProps?: Partial

displayName?: string } // TODO: [FF-125] inherit the `as` target's props for full polymorphic // typing — https://toptal-core.atlassian.net/browse/FF-125 // // Strict on declared props, permissive on extras. Declared `P` fields are // type-checked at call sites (e.g. `