/** Declaration file generated by dts-gen */

export = knox;

declare class knox {
    constructor(options: any);

    copy(sourceFilename: any, destFilename: any, headers: any): any;

    copyFile(sourceFilename: any, destFilename: any, headers: any, fn: any): any;

    copyFileTo(sourceFilename: any, destBucket: any, destFilename: any, headers: any, fn: any): any;

    copyTo(sourceFilename: any, destBucket: any, destFilename: any, headers: any): any;

    del(filename: any, headers: any): any;

    deleteFile(filename: any, headers: any, fn: any): any;

    deleteMultiple(filenames: any, headers: any, fn: any): any;

    get(filename: any, headers: any): any;

    getFile(filename: any, headers: any, fn: any): any;

    head(filename: any, headers: any): any;

    headFile(filename: any, headers: any, fn: any): any;

    http(filename: any): any;

    https(filename: any): any;

    list(params: any, headers: any, fn: any): any;

    put(filename: any, headers: any): any;

    putBuffer(buffer: any, filename: any, headers: any, fn: any): any;

    putFile(src: any, filename: any, headers: any, fn: any): any;

    putStream(stream: any, filename: any, headers: any, fn: any): any;

    request(method: any, filename: any, headers: any): any;

    signedUrl(filename: any, expiration: any, options: any): any;

    static createClient(options: any): any;

}

declare namespace knox {
    namespace auth {
        function authorization(options: any): any;

        function canonicalizeHeaders(headers: any): any;

        function canonicalizeResource(resource: any): any;

        function hmacSha1(options: any): any;

        function queryStringToSign(options: any): any;

        function sign(options: any): any;

        function signQuery(options: any): any;

        function stringToSign(options: any): any;

        namespace authorization {
            const prototype: {
            };

        }

        namespace canonicalizeHeaders {
            const prototype: {
            };

        }

        namespace canonicalizeResource {
            const prototype: {
            };

        }

        namespace hmacSha1 {
            const prototype: {
            };

        }

        namespace queryStringToSign {
            const prototype: {
            };

        }

        namespace sign {
            const prototype: {
            };

        }

        namespace signQuery {
            const prototype: {
            };

        }

        namespace stringToSign {
            const prototype: {
            };

        }

    }
    
    namespace utils {
        function merge(a: any, b: any): any;

        namespace base64 {
            function decode(str: any): any;

            function encode(str: any): any;

            namespace decode {
                const prototype: {
                };

            }

            namespace encode {
                const prototype: {
                };

            }

        }

        namespace merge {
            const prototype: {
            };

        }

    }

}

