import { ContextManager, Context } from '../context'; import { Event as EventClass } from '../event'; import { Observable } from '../observable'; /** * Manages and tracks user events within the application context. */ export declare class UserEventContext extends Context { /** * Event triggered when a user event occurs. */ readonly onUserEvent: EventClass<[Event]>; private _resolveNextUserEvent; /** * An observable that emits the next user event as a promise. * It gets resolved with the event object when a user event occurs. */ readonly nextUserEvent: Observable, never>; /** * Registers and emits a user event. * @param evt The user event to register. */ registerUserEvent(evt: Event): void; } /** * Provides access to the event that gets triggered on a user event. * @param mgr The ContextManager instance to access the UserEventContext. * @returns The EventClass instance representing user events. */ export declare function useOnUserEvent(mgr: ContextManager): EventClass<[Event]>; /** * Retrieves the next user event as a promise. * @param mgr The ContextManager instance to access the UserEventContext. * @returns A promise that resolves with the next user event. */ export declare function nextUserEvent(mgr: ContextManager): Promise; /** * Registers a user event in the UserEventContext. * @param mgr The ContextManager instance to access the UserEventContext. * @param evt The user event to register. */ export declare function registerUserEvent(mgr: ContextManager, evt: Event): void;