import { EventKeys } from '@nature-ui/utils'; import React, { ElementType } from 'react'; interface IdProps { id?: string; } interface InputDOMEvents { onCopy?: React.ClipboardEventHandler; onCut?: React.ClipboardEventHandler; onPaste?: React.ClipboardEventHandler; onCompositionStart?: React.CompositionEventHandler; onCompositionEnd?: React.CompositionEventHandler; onCompositionUpdate?: React.CompositionEventHandler; onSelect?: React.ReactEventHandler; onBeforeInput?: React.FormEventHandler; onInput?: React.FormEventHandler; } interface InputDOMProps extends IdProps, InputDOMEvents { autoComplete?: string; maxLength?: number; minLength?: number; name?: string; pattern?: string; placeholder?: string; type?: 'text' | 'search' | 'url' | 'tel' | 'email' | 'password' | 'hidden' | (string & {}); inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'; } type MaybeRenderProp

= React.ReactNode | ((props: P) => React.ReactNode); type WithoutStyleAttr = Omit; type HTMLProps = WithoutStyleAttr> & React.RefAttributes; 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 InputDOMAttributes = InputDOMProps & DOMAttributes; type Merge = N extends Record ? M : Omit & N; type PropGetter

, R = DOMAttributes> = (props?: Merge, ref?: React.Ref | React.RefObject) => R & React.RefAttributes; type PropGetterV2 = (props?: React.ComponentPropsWithoutRef & P, ref?: React.Ref | React.RefObject) => React.ComponentPropsWithRef; type EventKeyMap = Partial>; export { DOMAttributes, DOMElement, EventKeyMap, HTMLProps, IdProps, InputDOMAttributes, InputDOMEvents, InputDOMProps, MaybeRenderProp, PropGetter, PropGetterV2 };