import type { ResponsiveValue, SystemProps, SystemStyleObject } from "@chakra-v2/styled-system"; import type { Interpolation } from "@emotion/react"; import { ElementType } from "react"; export 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<{}>; } export interface AsProps { as?: T; } /** * Extract the props of a React element or component */ export type PropsOf = React.ComponentPropsWithoutRef & AsProps; export type OmitCommonProps = Omit & { htmlTranslate?: "yes" | "no" | undefined; }; export type RightJoinProps = OmitCommonProps & OverrideProps; type Assign = Omit & U; 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 ChakraComponent extends ComponentWithAs> { } export {};