1import * as DynamoDB from "@distilled.cloud/aws/dynamodb";
2import * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5export interface ListTablesRequest extends DynamoDB.ListTablesInput {}
6
7/**
8 * Runtime binding for `dynamodb:ListTables`.
9 *
10 * An account-level binding — call it with no arguments to get a callable that
11 * lists table names in the region. Provide the `ListTablesHttp` layer on the
12 * Function to satisfy the binding.
13 * ### Table Metadata
14 * **Example:** List Tables in the Region
15 * ```typescript
16 * const listTables = yield* AWS.DynamoDB.ListTables();
17 *
18 * const response = yield* listTables();
19 * const tableNames = response.TableNames;
20 * ```
21 *
22 * @binding
23 */
24export interface ListTables extends Binding.Service<
25 ListTables,
26 "AWS.DynamoDB.ListTables",
27 () => Effect.Effect<
28 (
29 request?: ListTablesRequest,
30 ) => Effect.Effect<DynamoDB.ListTablesOutput, DynamoDB.ListTablesError>
31 >
32> {}
33
34export const ListTables = Binding.Service<ListTables>(
35 "AWS.DynamoDB.ListTables",
36);