1import type * as neptunegraph from "@distilled.cloud/aws/neptune-graph";
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 the `ListGraphSnapshots` operation (IAM action `neptune-graph:ListGraphSnapshots`),
8 * scoped to one {@link Graph}.
9 *
10 * Lists the snapshots of the bound graph. Provide the implementation with
11 * `Effect.provide(AWS.NeptuneGraph.ListGraphSnapshotsHttp)`.
12 * ### Managing Snapshots
13 * **Example:** List a graph's snapshots
14 * ```typescript
15 * const listSnapshots = yield* NeptuneGraph.ListGraphSnapshots(graph);
16 *
17 * const { graphSnapshots } = yield* listSnapshots();
18 * ```
19 *
20 * @binding
21 */
22export interface ListGraphSnapshots extends Binding.Service<
23 ListGraphSnapshots,
24 "AWS.NeptuneGraph.ListGraphSnapshots",
25 (
26 graph: Graph,
27 ) => Effect.Effect<
28 (
29 request?: Omit<neptunegraph.ListGraphSnapshotsInput, "graphIdentifier">,
30 ) => Effect.Effect<
31 neptunegraph.ListGraphSnapshotsOutput,
32 neptunegraph.ListGraphSnapshotsError
33 >
34 >
35> {}
36export const ListGraphSnapshots = Binding.Service<ListGraphSnapshots>(
37 "AWS.NeptuneGraph.ListGraphSnapshots",
38);