import { Unit } from "../../../fun/domains/unit/state";
import { BasicUpdater, Updater } from "../../../fun/domains/updater/state";
import { BasicFun, Fun } from "../../../fun/state";
export type LeftValue = {
value: a;
kind: "l";
};
export declare const LeftValue: {
Updaters: {
value: (_: BasicUpdater) => Updater>;
};
};
export type RightValue = {
value: b;
kind: "r";
};
export declare const RightValue: {
Updaters: {
value: (_: BasicUpdater) => Updater>;
};
};
export type Sum = {
value: a;
kind: "l";
} | {
value: b;
kind: "r";
};
export type Either = Sum;
export type Option = Sum;
export declare const Sum: (() => {
Default: {
left: Fun>;
right: Fun>;
};
Updaters: {
left: Fun, Updater>>;
right: Fun, Updater>>;
map2: (l: BasicFun, r: BasicFun) => Fun, Sum>;
};
Operations: {
fold: (l: BasicFun, r: BasicFun) => Fun, c>;
};
}) & {
Default: {
left: (_: a) => Sum;
right: (_: b) => Sum;
};
Updaters: {
left: (_: BasicUpdater) => Updater>;
right: (_: BasicUpdater) => Updater>;
map2: (l: BasicFun, r: BasicFun) => Fun, Sum>;
};
Operations: {
fold: (l: BasicFun, r: BasicFun) => Fun, c>;
ofOption: (onNone: BasicFun) => BasicFun