export declare type FromFn = (input: A) => Promise; /** A safe conversion from type A to type B */ export declare type From = { /** * Convert `input` safely and asynchronously into an output. */ from: FromFn; }; /** The output of a conversion type or function */ export declare type OutputOf | FromFn> = F extends From ? Output : F extends FromFn ? Output : never; /** The input of a conversion type or function */ export declare type InputOf | FromFn> = F extends From ? Input : F extends FromFn ? Input : never; /** * A type "conversion" from any type to itself */ export declare function identity(): From;