import type { UpdateCommandInput, UpdateCommandOutput } from '@aws-sdk/lib-dynamodb'; import { $sentArgs } from '../../../entity/constants.js'; import type { Entity, EntitySendableAction } from '../../../entity/entity.js'; import type { FormattedItem } from '../../../entity/index.js'; import { EntityAction } from '../../../entity/index.js'; import type { AllNewReturnValuesOption, AllOldReturnValuesOption, NoneReturnValuesOption, UpdatedNewReturnValuesOption, UpdatedOldReturnValuesOption } from '../../../options/returnValues.js'; import type { DocumentClientOptions } from '../../../types/documentClientOptions.js'; import type { Merge } from '../../../types/merge.js'; import { $item, $options } from './constants.js'; import type { UpdateItemOptions } from './options.js'; import type { UpdateItemInput } from './types.js'; export type ReturnedAttributes> = OPTIONS['returnValues'] extends NoneReturnValuesOption ? undefined : OPTIONS['returnValues'] extends UpdatedOldReturnValuesOption | UpdatedNewReturnValuesOption ? FormattedItem | undefined : OPTIONS['returnValues'] extends AllNewReturnValuesOption | AllOldReturnValuesOption ? FormattedItem | undefined : never; export type UpdateItemResponse = UpdateItemOptions> = Merge, { Attributes?: ReturnedAttributes; ToolboxItem: UpdateItemInput; }>; export declare class UpdateItemCommand = UpdateItemOptions> extends EntityAction implements EntitySendableAction { static actionName: "updateItem"; [$item]?: UpdateItemInput; [$options]: OPTIONS; constructor(entity: ENTITY, item?: UpdateItemInput, options?: OPTIONS); item(nextItem: UpdateItemInput): UpdateItemCommand; options>(nextOptions: NEXT_OPTIONS | ((prevOptions: OPTIONS) => NEXT_OPTIONS)): UpdateItemCommand; [$sentArgs](): [UpdateItemInput, UpdateItemOptions]; params(): UpdateCommandInput & { ToolboxItem: UpdateItemInput; }; send(documentClientOptions?: DocumentClientOptions): Promise>; }