/** * Bimappable is a structure that allows a function to be applied inside of the * associated concrete structure but is specific to a second held value of that * structure.. * * @module Bimappable * @since 2.0.0 */ import "./_dnt.polyfills.js"; import type { $, Hold, Kind } from "./kind.js"; import type { Mappable } from "./mappable.js"; /** * The Bimappable interface. Bimapple includes the methods map and mapSecond. */ export interface Bimappable extends Mappable, Hold { readonly mapSecond: (fbj: (value: B) => J) => (ta: $) => $; } /** * @since 2.0.0 */ export declare function bimap({ map, mapSecond }: Bimappable): (fai: (a: A) => I, fbj: (b: B) => J) => (ua: $) => $;