export declare abstract class Result { static Ok(...args: T[]): Result; static Err(t: E | string | Result): Result; static Is(t: unknown): t is Result; static AsyncOk(...args: T[]): Promise>; static AsyncErr(t: E | string | Result): Promise>; isOk(): boolean; isErr(): boolean; Ok(): T; Err(): E; abstract is_ok(): boolean; abstract is_err(): boolean; abstract unwrap(): T; abstract unwrap_err(): E; } export declare class ResultOK extends Result { private _t; constructor(t: T); is_ok(): boolean; is_err(): boolean; unwrap_err(): E; unwrap(): T; } export declare class ResultError extends Result { private _error; constructor(t: T); is_ok(): boolean; is_err(): boolean; unwrap(): never; unwrap_err(): T; } export type WithoutResult = T extends Result ? U : T; type UnwrapResult = T extends Result ? U : T; export declare function exception2Result(fn: () => Promise): Promise, E>>; export declare function exception2Result(fn: () => T): Result, E>; export {}; //# sourceMappingURL=result.d.ts.map