lightningdevkit
Version:
Lightning Development Kit
29 lines (28 loc) • 1.22 kB
text/typescript
import { Result_NoneReplayEventZ } from '../structs/Result_NoneReplayEventZ.mjs';
import { Event } from '../structs/Event.mjs';
import { CommonBase } from './CommonBase.mjs';
/** An implementation of EventHandler */
export interface EventHandlerInterface {
/**Handles the given [`Event`].
*
* See [`EventsProvider`] for details that must be considered when implementing this method.
*/
handle_event(event: Event): Result_NoneReplayEventZ;
}
/**
* A trait implemented for objects handling events from [`EventsProvider`].
*
* An async variation also exists for implementations of [`EventsProvider`] that support async
* event handling. The async event handler should satisfy the generic bounds: `F:
* core::future::Future<Output = Result<(), ReplayEvent>>, H: Fn(Event) -> F`.
*/
export declare class EventHandler extends CommonBase {
/** Creates a new instance of EventHandler from a given implementation */
static new_impl(arg: EventHandlerInterface): EventHandler;
/**
* Handles the given [`Event`].
*
* See [`EventsProvider`] for details that must be considered when implementing this method.
*/
handle_event(event: Event): Result_NoneReplayEventZ;
}