/// <reference types="node" />
/**
 * This is for OpenApi Util
 */
import * as $tea from '@alicloud/tea-typescript';
export default class Client {
    /**
     * Convert all params of body other than type of readable into content
     * @param input source Model
     * @param output target Model
     * @return void
     */
    static convert(input: $tea.Model, output: $tea.Model): void;
    /**
     * Get the string to be signed according to request
     * @param request  which contains signed messages
     * @return the signed string
     */
    static getStringToSign(request: $tea.Request): string;
    /**
     * Get signature according to stringToSign, secret
     * @param stringToSign  the signed string
     * @param secret accesskey secret
     * @return the signature
     */
    static getROASignature(stringToSign: string, secret: string): string;
    /**
     * Parse filter into a form string
     * @param filter object
     * @return the string
     */
    static toForm(filter: {
        [key: string]: any;
    }): string;
    /**
     * Get timestamp
     * @return the timestamp string
     */
    static getTimestamp(): string;
    /**
     * Parse filter into a object which's type is map[string]string
     * @param filter query param
     * @return the object
     */
    static query(filter: {
        [key: string]: any;
    }): {
        [key: string]: string;
    };
    /**
     * Get signature according to signedParams, method and secret
     * @param signedParams params which need to be signed
     * @param method http method e.g. GET
     * @param secret AccessKeySecret
     * @return the signature
     */
    static getRPCSignature(signedParams: {
        [key: string]: string;
    }, method: string, secret: string): string;
    /**
     * Parse array into a string with specified style
     * @param array the array
     * @param prefix the prefix string
     * @style specified style e.g. repeatList
     * @return the string
     */
    static arrayToStringWithSpecifiedStyle(array: any, prefix: string, style: string): string;
    /**
     * Transform input as map.
     */
    static parseToMap(input: any): {
        [key: string]: any;
    };
    static getEndpoint(endpoint: string, serverUse: boolean, endpointType: string): string;
    /**
    * Encode raw with base16
    * @param raw encoding data
    * @return encoded string
    */
    static hexEncode(raw: Buffer): string;
    /**
     * Hash the raw data with signatureAlgorithm
     * @param raw hashing data
     * @param signatureAlgorithm the autograph method
     * @return hashed bytes
    */
    static hash(raw: Buffer, signatureAlgorithm: string): Buffer;
    static signatureMethod(secret: string, source: string, signatureAlgorithm: string): Buffer;
    /**
     * Get the authorization
     * @param request request params
     * @param signatureAlgorithm the autograph method
     * @param payload the hashed request
     * @param acesskey the acesskey string
     * @param accessKeySecret the accessKeySecret string
     * @return authorization string
     */
    static getAuthorization(request: $tea.Request, signatureAlgorithm: string, payload: string, acesskey: string, accessKeySecret: string): string;
    static getEncodePath(path: string): string;
    static getEncodeParam(param: string): string;
    /**
     * Transform a map to a flat style map where keys are prefixed with length info.
     * Map keys are transformed from "key" to "#length#key" format.
     * @param object the input object (can be a Model, Array, Map, or other types)
     * @return the transformed object
     */
    static mapToFlatStyle(object: any): any;
}
