import * as React from "react"; import { IOWidget, Options, Fun } from "./widget"; export interface PromiseOptions extends Options { on_fail: (reason: any) => o; call_promise_when_receive_new_props?: true; } export interface PromiseProps { options: PromiseOptions; input: i; actual_promise: Fun>; on_done: (output: o) => void; } export interface PromiseState { } export declare class PromiseComponent extends React.Component, PromiseState> { constructor(props: PromiseProps, context: any); status?: "running" | "done" | "failed"; run_promise(i: i): void; componentWillReceiveProps(newProps: PromiseProps): void; componentDidMount(): void; render(): null; } export declare let promise: (p: Fun>, options: PromiseOptions) => IOWidget;