type UITask = { (): Promise; map: (f: (a: A) => B) => UITask; chain: (f: (a: A) => UITask) => UITask; }; declare const task: (effect: () => Promise) => UITask; export { type UITask, task };