export type Left = { left: T; right?: never; }; export type Right = { left?: never; right: U; }; export type ExtractRightEither = T extends Right ? T['right'] : never; export type Either = NonNullable | Right>; export type UnwrapEither = (e: Either) => NonNullable; export declare const unwrapEither: UnwrapEither; export declare const isLeft: (e: Either) => e is Left; export declare const isRight: (e: Either) => e is Right; export declare const makeLeft: (value: T) => Left; export declare const makeRight: (value: U) => Right;