///
import * as React from 'react';
export declare function validateBindableProperty(property: any): void;
export interface BindableProps {
/**
* Action to convert from the view element value to the property value (default is to coerce)
*/
converter?: (x: any) => any;
/**
* Name of the view element value property (default is "value")
*/
valueProperty?: string;
/**
* Name of the view element onChange event (defualt is "onChange")
*/
onChangeProperty?: string;
/**
* Action to perform when fetching the current property value.
* Default action is to assume an observable property and request the current value.
*/
valueGetter?: (property: any) => any;
/**
* Action to perform when updating the current property value.
* Default action is to assume an observable property and set the current value.
*/
valueSetter?: (property: any, value: any) => void;
}
export interface BindableInputProps extends BindableProps {
/**
* input property (or value)
*/
boundProperty?: any;
}
export interface BindableInputComponentProps extends React.HTMLProps, BindableInputProps {
}
export declare class BindableInput extends React.Component {
static displayName: string;
static defaultProps: Partial;
private changedSubscription;
componentWillMount(): void;
componentWillReceiveProps(nextProps: Readonly): void;
componentWillUnmount(): void;
render(): React.ReactElement;
protected getValue(): any;
protected setValue(event: React.FormEvent): void;
}