// @flow export type OnError = (e: any) => void export type OnOutput = (data: any) => void export type UpdateFunction
= (props: P) => any export type DestroyFunction = () => void export type Condition
= (props: P) => R | void export type PixieInstance
= { update(props: P): any, destroy(): void } export type TamePixieInput = { onError: OnError, onOutput: OnOutput } export type TamePixie
= (input: TamePixieInput) => PixieInstance
export type PixieInput
= TamePixieInput & { nextProps(): Promise
,
+props: P,
waitFor ): Promise = (
input: PixieInput
) => PixieInstance | UpdateFunction