import * as E from 'fp-ts/Either';
import * as O from 'fp-ts/Option';
declare type Either<R, A> = E.Either<R, A>;
export declare const eitherToPromise: <R, A>(e: Either<R, A>) => Promise<A>;
export declare const optionToPromise: <A>(o: O.Option<A>, e?: unknown) => Promise<A>;
export declare const succeed: <A>(a: A) => Promise<A>;
export declare const fail: <A>(error?: unknown) => Promise<A>;
export declare const tryPromise: <A>(p: Promise<A>) => Promise<Either<unknown, A>>;
export declare const getOrElse: <A>(p: Promise<A>, other: A) => Promise<A>;
export declare const setError: <A>(p: Promise<A>, error: unknown) => Promise<A>;
export declare const parMap: <A, B>(input: readonly A[], p: (a: A) => Promise<B>) => Promise<B[]>;
export declare const parMapRecord: <A, B>(input: Record<string, A>, p: (value: A, key: string) => Promise<B>) => Promise<Record<string, B>>;
export declare const filterMap: <A, B>(input: A[], p: (a: A) => Promise<B>) => Promise<B[]>;
export declare const poll: <B>(fn: () => Promise<B>, timeout: number, delay: number) => Promise<B>;
export {};
//# sourceMappingURL=PromiseUtils.d.ts.map