import * as DynamoDB from "@distilled.cloud/aws/dynamodb"; import * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Table } from "./Table.ts"; export type BatchWriteItemTables = [Table, ...Table[]]; type BatchWriteRequests = NonNullable[string]; export declare const sortBatchWriteItemTables: (tables: BatchWriteItemTables) => BatchWriteItemTables; export interface BatchWriteItemRequest extends Omit { RequestItems: Record; } /** * Runtime binding for `dynamodb:BatchWriteItem`. * * Bind this operation to one or more tables and key the request by each bound * table's `LogicalId`. * ### Writing Data * **Example:** Write Items Across Multiple Tables * ```typescript * const batchWriteItem = yield* AWS.DynamoDB.BatchWriteItem(sourceTable, archiveTable); * * const response = yield* batchWriteItem({ * RequestItems: { * [sourceTable.LogicalId]: [ * { * PutRequest: { * Item: { * pk: { S: "user#1" }, * sk: { S: "profile" }, * }, * }, * }, * ], * }, * }); * ``` * * @binding */ export interface BatchWriteItem extends Binding.Service Effect.Effect<(request: BatchWriteItemRequest) => Effect.Effect>> { } export declare const BatchWriteItem: BatchWriteItem; export {}; //# sourceMappingURL=BatchWriteItem.d.ts.map