1import type * as detective from "@distilled.cloud/aws/detective";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Graph } from "./Graph.ts";
5
6/**
7 * Runtime binding for `detective:ListIndicators`.
8 *
9 * Lists the indicators of compromise a finished investigation surfaced —
10 * TTPs, impossible travel, new geolocations, related findings — the raw
11 * material for an automated triage report. The graph ARN is injected from
12 * the bound {@link Graph}.
13 * Provide the implementation with
14 * `Effect.provide(AWS.Detective.ListIndicatorsHttp)`.
15 * ### Running Investigations
16 * **Example:** Read An Investigation's Indicators
17 * ```typescript
18 * // init
19 * const listIndicators = yield* AWS.Detective.ListIndicators(graph);
20 *
21 * // runtime
22 * const { Indicators } = yield* listIndicators({ InvestigationId: id });
23 * ```
24 *
25 * @binding
26 */
27export interface ListIndicators extends Binding.Service<
28 ListIndicators,
29 "AWS.Detective.ListIndicators",
30 (
31 graph: Graph,
32 ) => Effect.Effect<
33 (
34 request: Omit<detective.ListIndicatorsRequest, "GraphArn">,
35 ) => Effect.Effect<
36 detective.ListIndicatorsResponse,
37 detective.ListIndicatorsError
38 >
39 >
40> {}
41export const ListIndicators = Binding.Service<ListIndicators>(
42 "AWS.Detective.ListIndicators",
43);