import { HttpBindingProtocol } from "@smithy/core/protocols"; import type { EndpointBearer, HandlerExecutionContext, HttpRequest, HttpResponse, MetadataBearer, OperationSchema, ResponseMetadata, SerdeFunctions, ShapeDeserializer, ShapeSerializer } from "@smithy/types"; import { JsonCodec } from "./JsonCodec"; /** * @public */ export declare class AwsRestJsonProtocol extends HttpBindingProtocol { protected serializer: ShapeSerializer; protected deserializer: ShapeDeserializer; private readonly codec; private readonly mixin; constructor({ defaultNamespace }: { defaultNamespace: string; }); getShapeId(): string; getPayloadCodec(): JsonCodec; setSerdeContext(serdeContext: SerdeFunctions): void; /** * @override */ serializeRequest(operationSchema: OperationSchema, input: Input, context: HandlerExecutionContext & SerdeFunctions & EndpointBearer): Promise; /** * @override */ deserializeResponse(operationSchema: OperationSchema, context: HandlerExecutionContext & SerdeFunctions, response: HttpResponse): Promise; /** * @override */ protected handleError(operationSchema: OperationSchema, context: HandlerExecutionContext & SerdeFunctions, response: HttpResponse, dataObject: any, metadata: ResponseMetadata): Promise; /** * @override */ protected getDefaultContentType(): string; }