import { Selection } from '@react-types/shared'; /** * Part of this code is taken from @chakra-ui/system ❤️ */ type As = React.ElementType; type DOMElements = keyof JSX.IntrinsicElements; type CapitalizedDOMElements = Capitalize; interface DOMElement extends Element, HTMLOrSVGElement { } type DataAttributes = { [dataAttr: string]: any; }; type DOMAttributes = React.AriaAttributes & React.DOMAttributes & DataAttributes & { id?: string; role?: React.AriaRole; tabIndex?: number; style?: React.CSSProperties; }; type OmitCommonProps = Omit; type RightJoinProps = OmitCommonProps & OverrideProps; type MergeWithAs = (RightJoinProps | RightJoinProps) & { as?: AsComponent; }; type InternalForwardRefRenderFunction = { (props: MergeWithAs, Omit, OmitKeys>, Props, AsComponent>): React.ReactElement | null; readonly $$typeof: symbol; defaultProps?: Partial | undefined; propTypes?: React.WeakValidationMap | undefined; displayName?: string | undefined; }; /** * Extract the props of a React element or component */ type PropsOf = React.ComponentPropsWithoutRef & { as?: As; }; type Merge = N extends Record ? M : Omit & N; type HTMLNextUIProps = Omit, "ref" | "color" | "slot" | "size" | "defaultChecked" | "defaultValue" | OmitKeys> & { as?: As; }; type PropGetter

, R = DOMAttributes> = (props?: Merge, ref?: React.Ref) => R & React.RefAttributes; type SharedSelection = Selection & { anchorKey?: string; currentKey?: string; }; export { As, CapitalizedDOMElements, DOMAttributes, DOMElement, DOMElements, HTMLNextUIProps, InternalForwardRefRenderFunction, Merge, MergeWithAs, OmitCommonProps, PropGetter, PropsOf, RightJoinProps, SharedSelection };