import { Notifiable } from './driver.interface'; import { Notification } from '../notification'; export interface NotificationSendHookContext { notification: Notification; notifiable: Notifiable; channel?: ChannelNames; provider?: string; attempt?: number; error?: unknown; response?: unknown; metadata?: Record; } export interface NotificationSendHooks { onSendStart?: (context: NotificationSendHookContext) => void | Promise; onChannelStart?: (context: NotificationSendHookContext) => void | Promise; onProviderAttempt?: (context: NotificationSendHookContext) => void | Promise; onProviderSuccess?: (context: NotificationSendHookContext) => void | Promise; onProviderFailure?: (context: NotificationSendHookContext) => void | Promise; onChannelSuccess?: (context: NotificationSendHookContext) => void | Promise; onChannelFailure?: (context: NotificationSendHookContext) => void | Promise; onSendComplete?: (context: NotificationSendHookContext & { status: 'success' | 'partial' | 'failed'; results: Map; errors: Map; }) => void | Promise; } //# sourceMappingURL=notification-send-hooks.interface.d.ts.map