/** * Do notation for ReaderIOResult * it allows you to chain multiple ReaderIOResult computations together * * @example * ```ts * pipe( * Do, * bind('a', () => of(1)), * bind('b', ({ a }) => of(a + 1)), * map(({ a, b }) => a + b), * ) * ``` */ export declare const Do: import("./reader-io-result.types").ReaderIOResult<{}, never, unknown>; /** * bind an ReaderIOResult to a name * @param name name of the ReaderIOResult * @param f function that returns a ReaderIOResult * @returns ReaderIOResult with the name binded * * @example * ```ts * pipe( * Do, * bind('a', () => of(1)), * bind('b', ({ a }) => of(a + 1)), * map(({ a, b }) => a + b), * ) * ``` */ export declare const bind: (args_0: A1 extends string ? Exclude : never, args_1: (args_0: A2) => import("./reader-io-result.types").ReaderIOResult) => (args_0: import("./reader-io-result.types").ReaderIOResult) => import("./reader-io-result.types").ReaderIOResult; declare const $let: (args_0: A1 extends string ? Exclude : never, args_1: (args_0: A2) => A3) => (args_0: import("./reader-io-result.types").ReaderIOResult) => import("./reader-io-result.types").ReaderIOResult; export { $let as let };