/**
 * A durable, append-only record that someone acknowledged a report or alert via
 * a Slack interactive action (the Acknowledge button on an alert message). One
 * document is appended per acknowledgement; the current acknowledgement state of
 * a report is the latest event (ordered by the server-assigned `_createdAt`),
 * and the full stream is the audit history.
 *
 * Mirrors {@link RecommendationStatusEvent}: `actor` and `at` are stamped
 * server-side from the signature-verified Slack interaction (never read from the
 * request payload), so they cannot be spoofed. A Slack interaction carries no
 * gateway JWT, so the clicker is recorded under the `slack:<userId>` actor
 * namespace rather than the `user:<sub>` namespace dashboard writes use; mapping
 * a Slack id to a Sanity identity is deferred to read time.
 *
 * @see docs/design-docs/slack-interactivity-endpoint.md
 */
export interface ReportAcknowledgementEvent {
    /** The report/alert handle the acknowledgement targets, parsed from the Slack action `value`. */
    reportId: string;
    /** The Slack `action_id` that produced the ack — forward-compat for more interactive actions. */
    actionId: string;
    /** Server-inferred Slack identity that clicked, e.g. `slack:U0123ABCD`. Never client-supplied. */
    actor: string;
    /** ISO 8601 UTC timestamp, stamped server-side at write. */
    at: string;
}
