/** * Runs one task at a time; a task scheduled while another runs replaces any * task still waiting, so only the newest request starts next. Editors use it * for projection loads: replaying a long history emits one revision per * committed transaction, and composing a projection for each of them at once * would overrun the artifact Worker's bounded request queue. */ export declare function createLatestTaskRunner(): (task: () => Promise) => void; /** * One runner per artifact session. A composition still pending on a replaced * session (for example one whose Worker stopped answering) must never hold up * the next session's first load, so the runner is scoped to the session object * rather than to the component. */ export declare function useLatestTaskRunner(session: object): (task: () => Promise) => void;