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:ListTimelineEvents`.
7 *
8 * Lists the timeline events of an incident, with optional filters and sorting.
9 * Timeline events live under runtime incident-record ARNs, so the deploy-time
10 * grant is account-level (`Resource: "*"`).
11 * Provide the implementation with
12 * `Effect.provide(AWS.SSMIncidents.ListTimelineEventsHttp)`.
13 * ### Timeline Events
14 * **Example:** List An Incident's Timeline
15 * ```typescript
16 * // init
17 * const listTimelineEvents = yield* AWS.SSMIncidents.ListTimelineEvents();
18 *
19 * // runtime
20 * const { eventSummaries } = yield* listTimelineEvents({
21 * incidentRecordArn,
22 * sortBy: "EVENT_TIME",
23 * sortOrder: "DESCENDING",
24 * });
25 * ```
26 *
27 * @binding
28 */
29export interface ListTimelineEvents extends Binding.Service<
30 ListTimelineEvents,
31 "AWS.SSMIncidents.ListTimelineEvents",
32 () => Effect.Effect<
33 (
34 request: incidents.ListTimelineEventsInput,
35 ) => Effect.Effect<
36 incidents.ListTimelineEventsOutput,
37 incidents.ListTimelineEventsError
38 >
39 >
40> {}
41export const ListTimelineEvents = Binding.Service<ListTimelineEvents>(
42 "AWS.SSMIncidents.ListTimelineEvents",
43);