import { Base, Kind } from '@fp4ts/core'; import { FunctionK } from './function-k'; import { Applicative } from './applicative'; import { Monad } from './monad'; import { Traversable } from './traversable'; import { ApplicativeError } from './applicative-error'; import { MonadError } from './monad-error'; /** * @category Type Class */ export interface Parallel extends Base { readonly applicative: Applicative; readonly monad: Monad; readonly sequential: FunctionK; readonly parallel: FunctionK; readonly applicativeError: (E: MonadError) => ApplicativeError; } export type ParallelRequirements = Pick, 'applicative' | 'monad' | 'sequential' | 'parallel'>; export declare const Parallel: Readonly<{ of: (P: ParallelRequirements) => Parallel; parTraverse: (T: Traversable, P: Parallel) => (f: (a: A) => Kind) => (ta: Kind) => Kind]>; parTraverse_: (T: Traversable, P: Parallel) => (ta: Kind, f: (a: A_1) => Kind) => Kind]>; parSequence: (T: Traversable, P: Parallel) => (tma: Kind]>) => Kind]>; identity: (M: Monad) => Parallel; }>; //# sourceMappingURL=parallel.d.ts.map