import * as E from 'fp-ts/Either'; export type Failure = { readonly _tag: 'Failure'; readonly isSuccess: false; readonly isFailure: true; readonly error: E; }; export type Success = { readonly _tag: 'Success'; readonly isSuccess: true; readonly isFailure: false; readonly value: T; }; export type Result = Failure | Success; export declare class ResultFailureError extends Error { failureCause: E; constructor(failureCause: E); } export interface ResultInterface { success: (value: T) => Result; failure: (error: E) => Result; getSuccessfulValueOrFail: (result: Result) => T; map: (result: Result, mapping: (value: T) => R) => Result; } export declare const Result: ResultInterface; export interface ResultInternalInterface { fromEitherWithSimpleError: (either: E.Either) => Result; fromEitherWithSimpleErrorAndUnknown: (either: E.Either) => Result; } export declare const ResultInternal: ResultInternalInterface; //# sourceMappingURL=Result.d.ts.map