/**
 * @remarks
 * Added in 1.0.0
 * @remarks
 * Category: Model
 * @remarks
 * Original License: MIT – Copyright (c) 2017-present Giulio Canti
 * @public
 */
export interface Semiring<A> {
    readonly add: (x: A, y: A) => A;
    readonly zero: A;
    readonly mul: (x: A, y: A) => A;
    readonly one: A;
}
/**
 * Use [`getSemiring`](./function.ts.html#getsemiring) instead.
 *
 * @remarks
 * Added in 1.0.0
 * @remarks
 * Original License: MIT – Copyright (c) 2017-present Giulio Canti
 * @deprecated Zone of Death
 * @public
 */
export declare const getFunctionSemiring: <A, B>(S: Semiring<B>) => Semiring<(a: A) => B>;
//# sourceMappingURL=Semiring.d.ts.map