///
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;
};