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:ListInvestigations`.
8 *
9 * Enumerates the behavior graph's investigations with optional filter and
10 * sort criteria — list everything triaged in the last week, or every
11 * investigation still `ACTIVE`. The graph ARN is injected from the bound
12 * {@link Graph}.
13 * Provide the implementation with
14 * `Effect.provide(AWS.Detective.ListInvestigationsHttp)`.
15 * ### Running Investigations
16 * **Example:** List Active Investigations
17 * ```typescript
18 * // init
19 * const listInvestigations = yield* AWS.Detective.ListInvestigations(graph);
20 *
21 * // runtime
22 * const { InvestigationDetails } = yield* listInvestigations();
23 * ```
24 *
25 * @binding
26 */
27export interface ListInvestigations extends Binding.Service<
28 ListInvestigations,
29 "AWS.Detective.ListInvestigations",
30 (
31 graph: Graph,
32 ) => Effect.Effect<
33 (
34 request?: Omit<detective.ListInvestigationsRequest, "GraphArn">,
35 ) => Effect.Effect<
36 detective.ListInvestigationsResponse,
37 detective.ListInvestigationsError
38 >
39 >
40> {}
41export const ListInvestigations = Binding.Service<ListInvestigations>(
42 "AWS.Detective.ListInvestigations",
43);