interface Tuple {
first: A;
second: B;
}
export declare function pair(first: A, second: B): Tuple;
export declare function first(tuple: Tuple): A;
export declare function second(tuple: Tuple): B;
export declare function mapFirst(func: (val: A) => X, tuple: Tuple): Tuple;
export declare function mapSecond(func: (val: B) => X, tuple: Tuple): Tuple;
export declare function mapBoth(firstFunc: (val: A) => X, secondFunc: (val: B) => Y, tuple: Tuple): Tuple;
export {};