import { constructStack } from "@aws-sdk/middleware-stack"; import { Command as ICommand, Handler, MetadataBearer, MiddlewareStack as IMiddlewareStack } from "@aws-sdk/types"; export abstract class Command< Input extends ClientInput, Output extends ClientOutput, ResolvedClientConfiguration, ClientInput extends object = any, ClientOutput extends MetadataBearer = any > implements ICommand { abstract input: Input; readonly middlewareStack: IMiddlewareStack = constructStack(); abstract resolveMiddleware( stack: IMiddlewareStack, configuration: ResolvedClientConfiguration, options: any ): Handler; }