import { type CreateNotificationTemplate, type CreateNotificationTemplateInput } from './notification.create'; /** * Template for creating a logged-event {@link Notification}. Alias for {@link CreateNotificationTemplate}. */ export type CreateNotificationLoggedEventTemplate = CreateNotificationTemplate; /** * Simplified input for creating logged-event notification templates. Omits fields not applicable to * logged events (recipients, send type, recipient flags) and requires `notificationModel` since * logged events are always associated with a target model. */ export type CreateNotificationLoggedEventTemplateInput = Omit; /** * Creates a {@link CreateNotificationLoggedEventTemplate} with `LOGGED_EVENT` send type and no recipients. * * The persisted {@link Notification} is born with `d: true` and `NO_TRY` channel states (set by * {@link createNotificationDocumentPair}), so it is invisible to the send loop and is archived to * {@link NotificationLoggedEventDay} during cleanup. * * @param input - Logged-event template input parameters. * @returns The configured logged-event notification template. * @throws {Error} When `notificationModel` is not provided. * * @example * ```ts * const template = createNotificationLoggedEventTemplate({ * type: 'workerClockedIn', * notificationModel: 'project/abc123', * data: { workerId: 'w_001', at: new Date().toISOString() } * }); * ``` * * @__NO_SIDE_EFFECTS__ */ export declare function createNotificationLoggedEventTemplate(input: CreateNotificationLoggedEventTemplateInput): CreateNotificationLoggedEventTemplate;