/// import * as React from 'react'; import LabelMode from '../../enums/LabelMode'; import ValidationState from '../../enums/ValidationState'; export { ValidationState }; export interface RenderInputProps { focused: boolean; labelMode: LabelMode; validationMessage?: React.ReactNode; validationState: ValidationState; onFocus: () => void; onBlur: () => void; } export interface RenderInputLayoutProps { renderInput: (props: RenderInputProps) => React.ReactNode; formGroupProps: { component: 'div' | 'label'; labelMode: LabelMode; }; labelProps: { labelMode: LabelMode; required: boolean; validationMessage: React.ReactNode; validationState: ValidationState; style: React.CSSProperties; }; renderInputProps: RenderInputProps; focused: boolean; formGroupComponent: 'div' | 'label'; inputContainerStyle: React.CSSProperties; label: React.ReactNode; labelMode: LabelMode; labelStyle: React.CSSProperties; required: boolean; validationMessage: React.ReactNode; validationState: ValidationState; onFocus: () => void; onBlur: () => void; } export interface AbstractInputProps { renderInput: (props: RenderInputProps) => React.ReactNode; formGroupComponent?: 'div' | 'label'; inputContainerStyle?: React.CSSProperties; label: React.ReactNode; labelMode?: LabelMode; labelStyle?: React.CSSProperties; required?: boolean; validationMessage?: React.ReactNode; validationState: ValidationState; onFocus?: () => void; onBlur?: () => void; } export interface AbstractInputBaseProps { inputContainerStyle?: React.CSSProperties; label: React.ReactNode; labelMode?: LabelMode; labelStyle?: React.CSSProperties; required?: boolean; validationMessage?: React.ReactNode; validationState?: ValidationState; onFocus?: () => void; onBlur?: () => void; } export interface State { focused: boolean; } export declare function renderAbstractInput(props: RenderInputLayoutProps): JSX.Element; declare class AbstractInput extends React.Component { state: State; _onFocus: () => void; _onBlur: () => void; render(): JSX.Element; } export default AbstractInput;