import type * as P from "@principia/prelude";
import type { URI, V } from "./model";
export declare const ap_: (fab: (a: A) => B, fa: A) => B;
export declare const ap: (fa: A) => (fab: (a: A) => B) => B;
export declare const apFirst_: (fa: A, fb: B) => A;
export declare const apFirst: (fb: B) => (fa: A) => A;
export declare const apSecond_: (fa: A, fb: B) => B;
export declare const apSecond: (fb: B) => (fa: A) => B;
export declare const mapBoth_: (fa: A, fb: B, f: (a: A, b: B) => C) => C;
export declare const mapBoth: (fb: B, f: (a: A, b: B) => C) => (fa: A) => C;
export declare const Apply: P.Apply<[URI], V>;
//# sourceMappingURL=apply.d.ts.map