import * as HKT from './HKT'; export interface Zip extends HKT.Base { readonly zip_: ZipFn_; readonly zip: ZipFn; readonly zipWith_: ZipWithFn_; readonly zipWith: ZipWithFn; } export declare type ZipMin = { readonly zip_: ZipFn_; readonly zipWith_: ZipWithFn_; }; export declare function Zip(F: ZipMin): Zip; export interface ZipFn { (fb: HKT.Kind): (fa: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, A>) => HKT.Kind, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, readonly [A, B]>; } export interface ZipFn_ { (fa: HKT.Kind, fb: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, B>): HKT.Kind, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, readonly [A, B]>; } export interface ZipWithFn { (fb: HKT.Kind, f: (a: A, b: B) => C): (fa: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, A>) => HKT.Kind, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, C>; } export interface ZipWithFn_ { (fa: HKT.Kind, fb: HKT.Kind, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, HKT.Intro, B>, f: (a: A, b: B) => C): HKT.Kind, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, HKT.Mix, C>; } //# sourceMappingURL=Zip.d.ts.map