import { AssistantEventName, AssistantEventPayload } from "../types/events.js";
import { Unsubscribe } from "../types/client.js";
import { ClientStack } from "./tap-client-stack-context.js";

//#region src/utils/NotificationManager.d.ts
type NotificationManager = {
  on<TEvent extends AssistantEventName>(event: TEvent, callback: (payload: AssistantEventPayload[TEvent], clientStack: ClientStack) => void): Unsubscribe;
  emit<TEvent extends Exclude<AssistantEventName, "*">>(event: TEvent, payload: AssistantEventPayload[TEvent], clientStack: ClientStack): void;
  subscribe(callback: () => void): Unsubscribe;
  notifySubscribers(): void;
};
declare const NotificationManager: () => import("@assistant-ui/tap").ResourceElement<NotificationManager, undefined>;
//#endregion
export { NotificationManager };
//# sourceMappingURL=NotificationManager.d.ts.map