import type { BatchWriteCommandInput } from '@aws-sdk/lib-dynamodb'; import type { BatchDeleteRequest } from '../../../entity/actions/batchDelete/index.js'; import type { BatchPutRequest } from '../../../entity/actions/batchPut/index.js'; import type { Entity } from '../../../entity/index.js'; import { TableAction } from '../../../table/index.js'; import type { Table } from '../../../table/index.js'; import type { ListOf } from '../../../types/listOf.js'; import { $options, $requests } from './constants.js'; export type IBatchWriteRequest = Pick; export interface BatchWriteCommandOptions { tableName?: string; } export type RequestEntities = number extends REQUESTS['length'] ? ListOf extends IBatchWriteRequest[] ? RequestEntities> : never : REQUESTS extends [infer REQUESTS_HEAD, ...infer REQUESTS_TAIL] ? REQUESTS_HEAD extends IBatchWriteRequest ? REQUESTS_TAIL extends IBatchWriteRequest[] ? REQUESTS_HEAD['entity']['entityName'] extends RESULTS[number]['entityName'] ? RequestEntities : RequestEntities : never : never : RESULTS; export declare class BatchWriteCommand extends TableAction { static actionName: "batchWrite"; [$requests]?: REQUESTS; [$options]: BatchWriteCommandOptions; constructor(table: TABLE, entities?: ENTITIES, requests?: REQUESTS, options?: BatchWriteCommandOptions); requests(...requests: NEXT_REQUESTS): BatchWriteCommand, NEXT_REQUESTS>; options(nextOptions: BatchWriteCommandOptions | ((prevOptions: BatchWriteCommandOptions) => BatchWriteCommandOptions)): BatchWriteCommand; params(): NonNullable['RequestItems']>; }