import { SystemProps, ResponsiveValue, SystemStyleObject } from '@chakra-ui/styled-system'; import { Interpolation } from '@emotion/react'; interface ChakraProps extends SystemProps { /** * Used to truncate text at a specific number of lines */ noOfLines?: ResponsiveValue; /** * Used for internal css management * @private */ __css?: SystemStyleObject; /** * Used to pass theme-aware style props. * NB: This is the public API for user-land */ sx?: SystemStyleObject; /** * The emotion's css style object */ css?: Interpolation<{}>; } type As = React.ElementType; /** * Extract the props of a React element or component */ type PropsOf = React.ComponentPropsWithoutRef & { as?: As; }; type OmitCommonProps = Omit & { htmlTranslate?: "yes" | "no" | undefined; }; type RightJoinProps = OmitCommonProps & OverrideProps; type Assign = Omit & U; type MergeWithAs = (RightJoinProps | RightJoinProps) & { as?: AsComponent; }; type ComponentWithAs = { (props: MergeWithAs, React.ComponentProps, Props, AsComponent>): JSX.Element; displayName?: string; propTypes?: React.WeakValidationMap; contextTypes?: React.ValidationMap; defaultProps?: Partial; id?: string; }; interface ChakraComponent extends ComponentWithAs> { } export { As, ChakraComponent, ChakraProps, ComponentWithAs, MergeWithAs, OmitCommonProps, PropsOf, RightJoinProps };