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