import { Closure } from "@tsplus/stdlib/prelude/Closure/definition"; /** * The `Associative` type class describes an associative binary operator * for a type `A`. For example, addition for integers, and string * concatenation for strings. * * @tsplus type Associative */ export interface Associative extends Closure { readonly Law: Closure["Law"] & { readonly Associative: "Associative"; }; } /** * @tsplus type Associative/Ops */ export interface AssociativeOps { (combine: (x: A, y: A) => A): Associative; } export declare const Associative: AssociativeOps; //# sourceMappingURL=definition.d.ts.map