import { EvalF, Kind } from '@fp4ts/core'; import { Zip, ZipRequirements } from './zip'; import { ArrayF } from './instances/array'; /** * @category Type Class */ export interface Unzip extends Zip { /** * Transforms a structure using the function `f` into a pair of structures, * corresponding to the first and second components returned from `f`. */ unzipWith(f: (a: A) => readonly [B, C]): (fa: Kind) => [Kind, Kind]; /** * Transforms a structure using the function `f` into a pair of structures, * corresponding to the first and second components returned from `f`. */ unzipWith_(fa: Kind, f: (a: A) => readonly [B, C]): [Kind, Kind]; /** * Given a structure of pairs, create a pair of structures where with corresponding * elements. */ unzip(fab: Kind): [Kind, Kind]; } export type UnzipRequirements = (Pick, 'unzip'> | Pick, 'unzipWith_'>) & ZipRequirements & Partial>; export declare const Unzip: Readonly<{ of: (F: UnzipRequirements) => Unzip; readonly Array: Unzip; readonly Eval: Unzip; }>; //# sourceMappingURL=unzip.d.ts.map