export type FunctionOfTtoK = (v: T) => K; export type AsyncFunctionOfTtoK = (v: T) => Promise; export type FunctionOfT = () => T; export type AsyncFunctionOfT = () => Promise; export type Predicate = () => boolean; export type PredicateOfT = (v: T) => boolean; export type ActionOfT = (v: T) => void; export type AsyncActionOfT = (v: T) => Promise; export type Action = () => void; export type AsyncAction = () => Promise; export type ActionNever = () => never; export type Some = T extends None ? never : T; export type None = null | undefined | void; export type Known = Exclude; export type ErrorHandler = FunctionOfTtoK>; export declare const never: ActionNever; export declare function isDefined(value: T | None): value is T; export declare function isSome(value: Some | None): value is Some; export declare function isNone(value: Some | None): value is None; export declare function isFunction(value: unknown): value is Function; export declare function isPromise(value: unknown): value is Promise; export type MaybeMatcher = { some: FunctionOfTtoK>; none: FunctionOfT>; }; export type MaybeMatcherNoReturn = { some: ActionOfT; none: Action; }; export type ResultMatcher = { success: FunctionOfTtoK>; failure: FunctionOfTtoK>; }; export type ResultMatcherNoReturn = { success: ActionOfT; failure: ActionOfT; }; /** * Sourced from https://github.com/ReactiveX/rxjs/blob/7268bd31d1cb30cf01a1a69a7b14458e15b76b58/src/internal/util/pipe.ts * @param fns * @returns */ export declare function pipeFromArray(fns: Array>): FunctionOfTtoK; export declare function noop(): void; export declare function noop(value: Some): Some;