import { Command } from "./command"; import { MiddlewareStack } from "./middleware"; import { MetadataBearer } from "./response"; /** * function definition for different overrides of client's 'send' function. */ interface InvokeFunction { ( command: Command, options?: any ): Promise; ( command: Command, options: any, cb: (err: any, data?: OutputType) => void ): void; ( command: Command, options?: any, cb?: (err: any, data?: OutputType) => void ): Promise | void; } /** * A general interface for service clients, idempotent to browser or node clients * This type corresponds to SmithyClient(https://github.com/aws/aws-sdk-js-v3/blob/main/packages/smithy-client/src/client.ts). * It's provided for using without importing the SmithyClient class. */ export interface Client { readonly config: ResolvedClientConfiguration; middlewareStack: MiddlewareStack; send: InvokeFunction; destroy: () => void; }