import { Consumer, Peek, Serializable, UnaryFunction } from '@jamashita/anden-type'; import { DeadConstructor, Schrodinger } from '@jamashita/genitore-schrodinger'; export type SReturnType = Exclude | ISuperposition | PromiseLike> | PromiseLike>; export interface ISuperposition extends Serializable { get(): Promise>; getErrors(): Set>; ifAlive(consumer: Consumer>): this; ifContradiction(consumer: Consumer): this; ifDead(consumer: Consumer): this; map(mapper: UnaryFunction, SReturnType>, ...errors: Array>): ISuperposition; pass(accepted: Consumer>, declined: Consumer, thrown: Consumer): this; peek(peek: Peek): this; recover(mapper: UnaryFunction>, ...errors: Array>): ISuperposition; terminate(): Promise>; transform(alive: UnaryFunction, SReturnType>, dead: UnaryFunction>, ...errors: Array>): ISuperposition; } export declare const isSuperposition: (value: unknown) => value is ISuperposition; export declare const containsError: (err: unknown, errors: Set>) => err is E; //# sourceMappingURL=ISuperposition.d.ts.map