import React, { Component, InputHTMLAttributes } from 'react';
import { Size } from '../../theme/styles';
export declare const defaultProps: Readonly<{
block: boolean;
gutter: boolean;
multiline: boolean;
outline: boolean;
readonly: boolean;
size: Size;
enterToSubmit: boolean;
}>;
type TextfieldValue = string | number;
type Props = {
onChange?: (value: T) => void;
onSubmit?: (value: T) => void;
onSubmitKeyUp?: (key: 'Escape' | 'Enter', value: T) => void;
placeholder?: string;
value: T;
enterToSubmit?: boolean;
} & Omit, 'onChange' | 'onSubmit' | 'value' | 'size'> & typeof defaultProps;
type State = {
key: number;
currentValue?: T;
};
export declare class Textfield extends Component, State> {
static defaultProps: Readonly<{
block: boolean;
gutter: boolean;
multiline: boolean;
outline: boolean;
readonly: boolean;
size: Size;
enterToSubmit: boolean;
}>;
state: {
key: number;
currentValue: undefined;
};
ref: React.RefObject;
componentDidUpdate(prevProps: Readonly>, prevState: Readonly>, snapshot?: any): void;
componentWillUnmount(): void;
render(): JSX.Element;
focus(): void;
private onBlur;
private onChange;
private onKeyUp;
private onSubmitKeyUp;
}
export {};