/** @module combinators.ts */
export declare const I: (x: A) => A;
export declare const K: (x: A) => (y: any) => A;
export declare const A: (f: (x: A) => B) => (x: A) => B;
export declare const T: (x: A) => (f: (a: A) => B) => B;
export declare const W: (f: (a: A) => (b: A) => B) => (x: A) => B;
export declare const C: (f: (x: A) => (y: B) => C) => (y: B) => (x: A) => C;
export declare const B: (f: (b: B) => C) => (g: (a: A) => B) => (a: A) => C;
export declare const S: (f: (a: A) => (b: B) => C) => (g: (a: A) => B) => (a: A) => C;
export declare const P: (f: (a: A) => (b: A) => B) => (g: (a: X | Y) => A) => (x: X) => (y: Y) => B;
export declare const Y: (f: (fn: Function) => A) => A;