import { Monoid as MO } from '@effect/typeclass';
import type { TypeLambda } from 'effect/HKT';
import type { BuildConcrete } from './given.js';
/**
 * Build typeclass laws for `Monoid` and its requirement `Semigroup` laws.
 * @category typeclass laws
 */
export declare const monoidLaws: BuildConcrete<MonoidTypeLambda>;
/**
 * Type lambda for the `Monoid` typeclass.
 * @category type lambda
 */
export interface MonoidTypeLambda extends TypeLambda {
    readonly type: MO.Monoid<this['Target']>;
}
declare module './given.js' {
    interface ConcreteLambdas {
        Monoid: MonoidTypeLambda;
    }
}
//# sourceMappingURL=Monoid.d.ts.map