import { Construct, Constructor } from './Constructor'; import { Validatable } from './Validatable'; import { Get } from './Get'; import { Func } from './Func'; import { Optional } from './Types'; export declare abstract class Try implements Validatable { is: { defined: (prop?: Func) => Try; empty: (prop?: Func) => Try; valid: (prop?: Func) => Try; true: (prop?: Func) => Try; false: (prop?: Func) => Try; not: { defined: (prop?: Func) => Try; empty: (prop?: Func) => Try; valid: (prop?: Func) => Try; }; }; if: { defined: (prop?: Func) => Try; empty: (prop?: Func) => Try; valid: (prop?: Func) => Try; true: (prop?: Func) => Try; false: (prop?: Func) => Try; not: { defined: (prop?: Func) => Try; empty: (prop?: Func) => Try; valid: (prop?: Func) => Try; }; }; abstract get value(): T; abstract get error(): Error; abstract get isValid(): boolean; static of: (c: Get>, ...args: unknown[]) => Try; abstract map(f: Func, T>): Try; abstract recover(f: Func, Error>): Try; abstract recoverFrom(type: Constructor, f: Func, Error>): Try; abstract accept(f: Func): Try; abstract filter(predicate: Func): Try; abstract or(value: Get): T; abstract orElse(value?: Get): Optional; abstract orThrow(error: Construct): T; } export declare const tryTo: (c: Get>, ...args: unknown[]) => Try;