1import type * as incidents from "@distilled.cloud/aws/ssm-incidents";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `ssm-incidents:DeleteTimelineEvent`.
7 *
8 * Deletes a custom timeline event from an incident (idempotent — deleting an
9 * event that does not exist succeeds). Timeline events live under runtime
10 * incident-record ARNs, so the deploy-time grant is account-level
11 * (`Resource: "*"`).
12 * Provide the implementation with
13 * `Effect.provide(AWS.SSMIncidents.DeleteTimelineEventHttp)`.
14 * ### Timeline Events
15 * **Example:** Delete A Timeline Event
16 * ```typescript
17 * // init
18 * const deleteTimelineEvent = yield* AWS.SSMIncidents.DeleteTimelineEvent();
19 *
20 * // runtime
21 * yield* deleteTimelineEvent({ incidentRecordArn, eventId });
22 * ```
23 *
24 * @binding
25 */
26export interface DeleteTimelineEvent extends Binding.Service<
27 DeleteTimelineEvent,
28 "AWS.SSMIncidents.DeleteTimelineEvent",
29 () => Effect.Effect<
30 (
31 request: incidents.DeleteTimelineEventInput,
32 ) => Effect.Effect<
33 incidents.DeleteTimelineEventOutput,
34 incidents.DeleteTimelineEventError
35 >
36 >
37> {}
38export const DeleteTimelineEvent = Binding.Service<DeleteTimelineEvent>(
39 "AWS.SSMIncidents.DeleteTimelineEvent",
40);