import CryptoJS from "crypto-js/core"; import { Credentials, RequestObj, SignerOptions } from "./types"; export declare const queryParamsToString: (params: any) => string; export default class Signer { request: RequestObj; serviceName: string; bodySha256?: string; constructor(request: RequestObj, serviceName: string, options?: SignerOptions); sortParams(params: any): {}; addAuthorization(credentials: Credentials, date?: Date): void; authorization(credentials: Credentials, datetime: string): string; getSignUrl(credentials: Credentials, date?: Date): string; getDateTime(date?: Date): string; addHeaders(credentials: Credentials, datetime: string): void; 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; }