import type { BatchGetCommandInput } from '@aws-sdk/lib-dynamodb'; import type { BatchGetRequest } from '../../../entity/actions/batchGet/index.js'; import type { EntityPathsUnion } from '../../../entity/actions/parsePaths/index.js'; import type { Entity } from '../../../entity/index.js'; import type { Table } from '../../../table/index.js'; import { TableAction } from '../../../table/index.js'; import type { ListOf } from '../../../types/listOf.js'; import { $options, $requests } from './constants.js'; export type IBatchGetRequest = Pick; export type BatchGetCommandOptions = { consistent?: boolean; tableName?: string; } & ({ attributes?: undefined; } | { attributes: Entity[] extends ENTITIES ? string[] : EntityPathsUnion[]; }); export type RequestEntities = number extends REQUESTS['length'] ? ListOf extends IBatchGetRequest[] ? RequestEntities> : never : REQUESTS extends [infer REQUESTS_HEAD, ...infer REQUESTS_TAIL] ? REQUESTS_HEAD extends IBatchGetRequest ? REQUESTS_TAIL extends IBatchGetRequest[] ? REQUESTS_HEAD['entity']['entityName'] extends RESULTS[number]['entityName'] ? RequestEntities : RequestEntities : never : never : RESULTS; export declare class BatchGetCommand = BatchGetCommandOptions> extends TableAction { static actionName: "batchGet"; [$requests]?: REQUESTS; [$options]: OPTIONS; constructor(table: TABLE, entities?: ENTITIES, requests?: REQUESTS, options?: OPTIONS); requests(...requests: NEXT_REQUESTS): BatchGetCommand, NEXT_REQUESTS, OPTIONS extends BatchGetCommandOptions> ? OPTIONS : BatchGetCommandOptions>>; options>(nextOptions: NEXT_OPTIONS | ((prevOptions: OPTIONS) => NEXT_OPTIONS)): BatchGetCommand; params(): NonNullable; }