/// import { StyleProps } from '../config'; import { SystemProps } from './config'; import { ResponsiveValue } from './other'; import { SystemStyleObject } from './style'; export type As = React.ElementType; export type PropsOf = React.ComponentPropsWithoutRef & { as?: As; }; export type OmitCommonProps = Omit; export type RightJoinProps = OmitCommonProps & OverrideProps; export type MergeWithAs = RightJoinProps & RightJoinProps & { as?: AsComponent; }; export type ComponentWithAs = { (props: MergeWithAs, React.ComponentProps, Props, AsComponent>): JSX.Element; displayName?: string; propTypes?: React.WeakValidationMap; contextTypes?: React.ValidationMap; defaultProps?: Partial; id?: string; }; export interface ComponentCommonProps extends SystemProps { noOfLines?: ResponsiveValue; __css?: Dict; sx?: SystemStyleObject; css?: any; } export interface Component extends ComponentWithAs { } export type HTMLProps = Omit, 'ref' | keyof StyleProps> & ComponentCommonProps & { as?: As; };