import type { ComponentScope, Dispatcher as RuntimeDispatcher, DispatcherEvent, MarkupPromiseEvent, MarkupRunEvent, MarkupValueEvent } from "../dispatcher.js"; export { Code } from "../dispatcher.js"; export type { DispatcherEvent, MarkupPromiseEvent, MarkupPromiseOptions, MarkupRunEvent, MarkupValueEvent, } from "../dispatcher.js"; export declare class Dispatcher { static emit(event: MarkupValueEvent): A | F; static emit(event: MarkupPromiseEvent): Promise; static emit(event: MarkupRunEvent): Promise; static emit(event: DispatcherEvent): A | F | Promise; /** * Runs `fn` with `scope` as the active component scope so emitted work is * bound to the calling component's lifetime. */ static with_scope(scope: ComponentScope, fn: () => T): T; } export declare function get_dispatcher(): RuntimeDispatcher;