import * as React from "react"; import { IOWidget, Options, Fun, Option } from "./widget"; export interface StateOptions extends Options { mergeNewProps?: (currentState: s, propsState: s) => s; onKeyDown?: Fun>>; } export interface StatefulProps { options?: StateOptions; input: s; widget_s: IOWidget; on_done_s: (output_s: s) => void; } export interface StatefulState { value: s; } export declare class Stateful extends React.Component, StatefulState> { constructor(props: StatefulProps, context: any); componentDidMount(): void; componentDidUpdate(): void; on_new_state(new_s: s): void; componentWillReceiveProps(nextProps: StatefulProps): void; render(): JSX.Element; } export declare let stateful: (options?: StateOptions | undefined) => (widget_s: IOWidget) => IOWidget;