import { ComponentProps, ReactElement, ReactNode, Ref } from 'react'; import { ColorPropsValue, DivProps, Size } from '../../types'; export interface InputBaseRef extends HTMLDivElement { select: HTMLInputElement['select']; setSelectionRange: HTMLInputElement['setSelectionRange']; } export interface InputBaseProps extends Omit { ref?: Ref; variant?: 'outlined' | 'underlined' | 'plain'; size?: Size; shape?: 'square' | 'rounded'; color?: ColorPropsValue; prefix?: ReactNode; suffix?: ReactNode; clearable?: boolean; onClear?(): void; loading?: boolean; type?: T extends 'input' ? ComponentProps['type'] : never; min?: T extends 'input' ? ComponentProps['min'] : never; max?: T extends 'input' ? ComponentProps['max'] : never; step?: T extends 'input' ? ComponentProps['step'] : never; precision?: T extends 'input' ? number : never; placeholder?: string; disabled?: boolean; readOnly?: boolean; autoFocus?: ComponentProps['autoFocus']; defaultValue?: ComponentProps['defaultValue']; value?: ComponentProps['value']; onChange?: ComponentProps['onChange']; children(childProps: ComponentProps): ReactNode; } export declare const InputBase: (props: InputBaseProps) => ReactElement;