import {EventStream, Observable } from "baconjs";
import {Maybe} from "./maybe";
import {Cancelable} from "./cancelable";
import {Either} from "./either";
import {PlainObject} from "./common";
export function cancelableToEventStream(ca: Cancelable): EventStream;
export function cancelableToPromise(ca: Cancelable): Promise;
export function eitherToCancelable(ma: Either): Cancelable;
export function eitherToPromise(ma: Either): Promise;
/**
* @deprecated
* use lens/view(sequence(maybe/map, indexLens(n)))(obj)
*/
export function keyMaybeToMaybeObj(key: string, moa: PlainObject): Maybe;
/**
* @deprecated
* use lens/view(sequence(maybe/map, indexLens(n)))(obj)
*/
export function keyMaybeToMaybeObj(key: string): (moa: PlainObject) => Maybe;
/**
* @deprecated
* use lens/view(sequence(maybe/map, indexLens(n)))(obj)
*/
export function keyMaybeToMaybeObj(index: number, maa: Array): Maybe>;
/**
* @deprecated
* use lens/view(sequence(maybe/map, indexLens(n)))(obj)
*/
export function keyMaybeToMaybeObj(index: number): (maa: Array) => Maybe>;
export function maybeOfBaconObservableToBaconObservableOfMaybe(mma: Maybe>): EventStream>;
export function maybeOfCancelableToCancelableOfMaybe(mma: Maybe>) : Cancelable>;
export function observableToCancelable(observable: Observable): Cancelable;
export function promiseToCancelable(p: Promise): Cancelable;