import type { EndpointParameterInstructions } from "@smithy/middleware-endpoint"; import type { Command as ICommand, Handler, HandlerExecutionContext, HttpRequest as IHttpRequest, HttpResponse as IHttpResponse, Logger, MetadataBearer, MiddlewareStack as IMiddlewareStack, OptionalParameter, Pluggable, RequestHandler, SerdeContext } from "@smithy/types"; /** * @public */ export declare abstract class Command implements ICommand { abstract input: Input; readonly middlewareStack: IMiddlewareStack; /** * Factory for Command ClassBuilder. * @internal */ static classBuilder; }, SI extends object = any, SO extends MetadataBearer = any>(): ClassBuilder; abstract resolveMiddleware(stack: IMiddlewareStack, configuration: ResolvedClientConfiguration, options: any): Handler; /** * @internal */ resolveMiddlewareWithContext(clientStack: IMiddlewareStack, configuration: { logger: Logger; requestHandler: RequestHandler; }, options: any, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }: ResolveMiddlewareContextArgs): import("@smithy/types").InitializeHandler; } /** * @internal */ type ResolveMiddlewareContextArgs = { middlewareFn: (CommandCtor: any, clientStack: any, config: any, options: any) => Pluggable[]; clientName: string; commandName: string; smithyContext: Record; additionalContext: HandlerExecutionContext; inputFilterSensitiveLog: (_: any) => any; outputFilterSensitiveLog: (_: any) => any; CommandCtor: any; }; /** * @internal */ declare class ClassBuilder; }, SI extends object = any, SO extends MetadataBearer = any> { private _init; private _ep; private _middlewareFn; private _commandName; private _clientName; private _additionalContext; private _smithyContext; private _inputFilterSensitiveLog; private _outputFilterSensitiveLog; private _serializer; private _deserializer; /** * Optional init callback. */ init(cb: (_: Command) => void): void; /** * Set the endpoint parameter instructions. */ ep(endpointParameterInstructions: EndpointParameterInstructions): ClassBuilder; /** * Add any number of middleware. */ m(middlewareSupplier: (CommandCtor: any, clientStack: any, config: any, options: any) => Pluggable[]): ClassBuilder; /** * Set the initial handler execution context Smithy field. */ s(service: string, operation: string, smithyContext?: Record): ClassBuilder; /** * Set the initial handler execution context. */ c(additionalContext?: HandlerExecutionContext): ClassBuilder; /** * Set constant string identifiers for the operation. */ n(clientName: string, commandName: string): ClassBuilder; /** * Set the input and output sensistive log filters. */ f(inputFilter?: (_: any) => any, outputFilter?: (_: any) => any): ClassBuilder; /** * Sets the serializer. */ ser(serializer: (input: I, context?: SerdeContext | any) => Promise): ClassBuilder; /** * Sets the deserializer. */ de(deserializer: (output: IHttpResponse, context?: SerdeContext | any) => Promise): ClassBuilder; /** * @returns a Command class with the classBuilder properties. */ build(): { new (input: I): CommandImpl; new (...[input]: OptionalParameter): CommandImpl; getEndpointParameterInstructions(): EndpointParameterInstructions; }; } /** * A concrete implementation of ICommand with no abstract members. * @public */ export interface CommandImpl; }, SI extends object = any, SO extends MetadataBearer = any> extends Command { readonly input: I; resolveMiddleware(stack: IMiddlewareStack, configuration: C, options: any): Handler; } export {};