import { Show } from '../typeclasses/Show'; import { Setoid } from '../typeclasses/Setoid'; import { Ord } from '../typeclasses/Ord'; import { Semigroup } from '../typeclasses/Semigroup'; import { Bifunctor } from '../typeclasses/Bifunctor'; import { Functor } from '../typeclasses/Functor'; import { Apply } from '../typeclasses/Apply'; export interface Tuple extends Tuple_ { } export interface ITuple { (fst: F, snd: S): Tuple; fanout: typeof Tuple_.fanout; fromArray: typeof Tuple_.fromArray; } export declare class Tuple_ implements Show, Setoid>, Ord>, Semigroup>, Bifunctor, Functor, Apply { private readonly first; private readonly second; constructor(first: F, second: S); readonly 'fantasy-land/equals': (other: Tuple) => boolean; readonly 'fantasy-land/lte': (other: Tuple) => boolean; readonly 'fantasy-land/concat': (other: Tuple) => Tuple; readonly 'fantasy-land/bimap': (f: (fst: F) => F2, g: (snd: S) => S2) => Tuple; readonly 'fantasy-land/map': (f: (snd: S) => S2) => Tuple; readonly 'fantasy-land/ap': (f: Tuple S2>) => Tuple; static fanout(f: (value: T) => F, g: (value: T) => S): (value: T) => Tuple; static fanout(f: (value: T) => F, g: (value: T) => S, value: T): Tuple; static fromArray([fst, snd]: [F, S]): Tuple; toJSON(): [F, S]; inspect(): string; toString(): string; fst(): F; snd(): S; equals(other: Tuple): boolean; lte(other: Tuple): boolean; bimap(f: (fst: F) => F2, g: (snd: S) => S2): Tuple; mapFirst(f: (fst: F) => F2): Tuple; map(f: (snd: S) => S2): Tuple; toArray(): [F, S]; swap(): Tuple; concat(other: Tuple): Tuple; ap(f: Tuple S2>): Tuple; } export declare const Tuple: ITuple;