import { Command as $Command } from "@smithy/core/client";
import type { MiddlewareStack } from "@smithy/types";
import type { KeyNodeChildren } from "../commands/utils";
import type { DynamoDBDocumentClientResolvedConfig } from "../DynamoDBDocumentClient";
/**
* Base class for Commands in lib-dynamodb used to pass middleware to
* the underlying DynamoDBClient Commands.
*
* @public
*/
export declare abstract class DynamoDBDocumentClientCommand extends $Command {
protected abstract readonly inputKeyNodes: KeyNodeChildren;
protected abstract readonly outputKeyNodes: KeyNodeChildren;
protected abstract clientCommand: $Command;
abstract middlewareStack: MiddlewareStack;
protected addMarshallingMiddleware(configuration: DynamoDBDocumentClientResolvedConfig): void;
}