import { $, Base, Fix, Kind, α, λ } from '@fp4ts/core'; import { Functor } from './functor'; import { Tuple2F } from './instances/tuple2'; /** * @category Type Class */ export interface Bifunctor extends Base { readonly bimap: (f: (a: A) => C, g: (b: B) => D) => (fab: Kind) => Kind; readonly bimap_: (fab: Kind, f: (a: A) => C, g: (b: B) => D) => Kind; readonly leftFunctor: () => Functor<λ]>>; readonly rightFunctor: () => Functor<$>; readonly map: (g: (b: B) => D) => (fab: Kind) => Kind; readonly map_: (fab: Kind, g: (b: B) => D) => Kind; readonly leftMap: (f: (a: A) => C) => (fab: Kind) => Kind; readonly leftMap_: (fab: Kind, f: (a: A) => C) => Kind; } export type BifunctorRequirements = Pick, 'bimap_'> & Partial>; export declare const Bifunctor: Readonly<{ of: (F: BifunctorRequirements) => Bifunctor; readonly Tuple2: Bifunctor; }>; //# sourceMappingURL=bifunctor.d.ts.map