1import type * as dataexchange from "@distilled.cloud/aws/dataexchange";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `dataexchange:ListDataSets`.
7 *
8 * Enumerates the account's data sets — `Origin: "OWNED"` for data sets
9 * this account publishes, `Origin: "ENTITLED"` for active
10 * subscriptions.
11 * Provide the implementation with
12 * `Effect.provide(AWS.DataExchange.ListDataSetsHttp)`.
13 * ### Reading Data Sets
14 * **Example:** List Entitled Data Sets
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const listDataSets = yield* AWS.DataExchange.ListDataSets();
18 *
19 * // runtime
20 * const { DataSets } = yield* listDataSets({ Origin: "ENTITLED" });
21 * ```
22 *
23 * @binding
24 */
25export interface ListDataSets extends Binding.Service<
26 ListDataSets,
27 "AWS.DataExchange.ListDataSets",
28 () => Effect.Effect<
29 (
30 request?: dataexchange.ListDataSetsRequest,
31 ) => Effect.Effect<
32 dataexchange.ListDataSetsResponse,
33 dataexchange.ListDataSetsError
34 >
35 >
36> {}
37export const ListDataSets = Binding.Service<ListDataSets>(
38 "AWS.DataExchange.ListDataSets",
39);