import type { SnapshotStoredEvent, SnapshotFailedEvent } from "./events.js"; import type { ModuleContext } from "@similie/hyphen-command-server-types"; export type NotifierEventMap = { "snapshot:stored": SnapshotStoredEvent; "snapshot:failed": SnapshotFailedEvent; }; export interface Notifier { /** If false, callers may skip work (optional optimization). */ readonly enabled: boolean; init(ctx: ModuleContext): Promise | void; /** Generic send hook. Implementations can switch on eventName. */ send(eventName: K, payload: NotifierEventMap[K]): Promise; } export declare class NoopNotifier implements Notifier { readonly enabled = false; private ctx; init(ctx: ModuleContext): void; send(_eventName: K, _payload: NotifierEventMap[K]): Promise; } //# sourceMappingURL=notifier.d.ts.map