import { RequestObj, SignerOptions, Credentials } from "./types"; export declare const queryParamsToString: (params: any) => string; /** * @api private */ export default class Signer { request: RequestObj; serviceName: string; signatureCache: boolean; bodySha256?: string; constructor(request: RequestObj, serviceName: string, options?: SignerOptions); sortParams(params: any): {}; addAuthorization(credentials: Credentials, date?: Date): void; addHeaders(credentials: Credentials, datetime: string): void; authorization(credentials: Credentials, datetime: string): string; signature(credentials: Credentials, datetime: string): CryptoJS.lib.WordArray; stringToSign(datetime: string): string; canonicalString(): string; canonicalHeaders(): string; canonicalHeaderValues(values: string): string; signedHeaders(): string; signedQueries(): string; credentialString(datetime: string): string; hexEncodedHash(str: string): CryptoJS.lib.WordArray; hexEncodedBodyHash(): any; isSignableHeader(key: string): boolean; iso8601(date?: Date): string; getSigningKey(credentials: Credentials, date: string, region: string, service: string): CryptoJS.lib.WordArray; createScope(date: string, region: string, serviceName: string): string; }