import { $, $type, Kind, TyK, TyVar } from '@fp4ts/core'; import { Functor, FunctorRequirements } from './functor'; import { Function1F, Function0F } from './instances/function'; /** * @category Type Class */ export interface Distributive extends Functor { distribute(G: Functor): (f: (a: A) => Kind) => (ga: Kind) => Kind]>; distribute_(G: Functor): (ga: Kind, f: (a: A) => Kind) => Kind]>; consequence(G: Functor): (gfa: Kind]>) => Kind]>; } export type DistributiveRequirements = Pick, 'distribute_'> & FunctorRequirements & Partial>; export declare const Distributive: Readonly<{ of: (F: DistributiveRequirements) => Distributive; readonly Function0: Distributive; Function1: () => Distributive<$>; }>; export interface DistributiveF extends TyK<[unknown]> { [$type]: Distributive>; } //# sourceMappingURL=distributive.d.ts.map