import { ChecksumConstructor, Provider } from "@smithy/types"; import { RequestChecksumCalculation, ResponseChecksumValidation, } from "./constants"; export interface FlexibleChecksumsInputConfig { requestChecksumCalculation?: | RequestChecksumCalculation | Provider; responseChecksumValidation?: | ResponseChecksumValidation | Provider; requestStreamBufferSize?: number | false; checksumAlgorithms?: { CRC32?: ChecksumConstructor; CRC32C?: ChecksumConstructor; CRC64NVME?: ChecksumConstructor; SHA1?: ChecksumConstructor; SHA256?: ChecksumConstructor; } & { [algorithmId: string]: ChecksumConstructor; }; } export interface FlexibleChecksumsResolvedConfig { requestChecksumCalculation: Provider; responseChecksumValidation: Provider; requestStreamBufferSize: number; checksumAlgorithms?: FlexibleChecksumsInputConfig["checksumAlgorithms"]; } export declare const resolveFlexibleChecksumsConfig: ( input: T & FlexibleChecksumsInputConfig ) => T & FlexibleChecksumsResolvedConfig;