import * as HKT from './HKT'; export interface Invariant extends HKT.Base { readonly invmap_: InvMapFn_; readonly invmap: InvMapFn; } export interface InvariantComposition extends HKT.CompositionBase2 { readonly invmap_: InvMapFnComposition_; readonly invmap: InvMapFnComposition; } export declare function getInvariantComposition(F: Invariant, G: Invariant): InvariantComposition; export interface InvMapFn { (f: (a: A) => B, g: (b: B) => A): (fa: HKT.Kind) => HKT.Kind; } export interface InvMapFn_ { (fa: HKT.Kind, f: (a: A) => B, g: (b: B) => A): HKT.Kind; } export interface InvMapFnComposition { (f: (a: A) => B, g: (b: B) => A): (fga: HKT.Kind>) => HKT.Kind>; } export interface InvMapFnComposition_ { (fga: HKT.Kind>, f: (a: A) => B, g: (b: B) => A): HKT.Kind>; } //# sourceMappingURL=Invariant.d.ts.map