import React from 'react'; import type { WithNullableEventHandlers } from '../../types'; declare type InputType = 'text' | 'password' | 'email' | 'search'; declare type Props = WithNullableEventHandlers<{ id?: string; size?: 'small' | null; validationRules?: Array<{ id: string; text: string; options?: Object; validation: (value: string, options: Object) => boolean; }>; wrapperClassName?: string; onInput?: (e: React.FormEvent) => void; onValidate?: (id: string, ruleText: string, ruleResult: boolean, ruleId: string, ruleOptions: Object) => void; } & Partial & Omit, 'onInput' | 'size'>>; declare type DefaultProps = { className: string; 'data-ui': string; disabled: boolean; error: boolean; theme: 'dark' | 'light'; toggleVisibility: boolean; type: InputType; }; declare type State = { type: InputType; }; export default class Input extends React.PureComponent { _input: HTMLInputElement | null | undefined; static displayName: string; static defaultProps: DefaultProps; state: State; select(): void; focus(): void; _handleInput: (e: React.FormEvent) => void; _handletoggleVisibilityClick: () => void; render(): JSX.Element; } export {};