import type { EventHandler, EventHandlerCtx, EventSchemaOverride, RequestReplyDef } from '../types.ts'; import { type NotifyUsers } from './notify.ts'; export type NotifyGatewayKind = 'screen' | 'email' | 'sendGrid' | 'teams' | 'slack' | 'log'; export interface NotifyGateway { id: string; kind: NotifyGatewayKind; } export declare const DEFAULT_NOTIFY_GATEWAYS: NotifyGateway[]; export interface DispatchOptions { users: NotifyUsers; gateways: NotifyGateway[]; entities?: string[]; } export interface RaisedNotification { HEADER: string; BODY: string; NOTIFY_SEVERITY: string; ROUTING_TYPE: string; ROUTING_DATA: string | null; NOTIFY_ATTACHMENTS?: string[]; } export interface DispatchBacking { eventHandlers: Record; eventSchemas: Record; requestReplies: Record; raise(ctx: EventHandlerCtx, user: string, notification: RaisedNotification): void; } export declare function dispatchBacking({ users, gateways, entities }: DispatchOptions): DispatchBacking;