///
import { Stream } from 'stream';
import { TripleValueCallback } from 'azure-iot-common';
/**
* @private
*/
export interface UploadParams {
hostName?: string;
containerName?: string;
blobName?: string;
sasToken?: string;
correlationId: string;
}
/**
* @private
*/
export interface BlobUploaderInterface {
uploadToBlob(uploadParams: UploadParams, stream: Stream, streamLength: number, done: TripleValueCallback): void;
uploadToBlob(uploadParams: UploadParams, stream: Stream, streamLength: number): Promise;
}
/**
* @private
*/
export interface Aborter {
timeout(time: number): any;
}
/**
* @private
*/
export type BlobResponse = {
statusCode: number;
body: string;
};
/**
* @private
*/
export interface BlobService {
createBlockBlobFromStream(containerName: string, blobName: string, stream: Stream, streamLength: number, done: (err: Error, body?: any, result?: BlobResponse) => void): void;
}
/**
* @private
*/
export interface BlockBlobClient {
uploadStream(stream: Stream, bufferSize?: undefined | number, maxConcurrency?: undefined | number, options?: any): Promise;
}
/**
* @private
*/
export interface StorageApi {
newPipeline: any;
AnonymousCredential: any;
BlockBlobClient(url: string, pipeline: any): void;
}
/**
* @private
*/
export declare class BlobUploader implements BlobUploaderInterface {
storageApi: StorageApi;
constructor(storageApi?: StorageApi);
uploadToBlob(blobInfo: UploadParams, stream: Stream, streamLength: number, done: TripleValueCallback): void;
uploadToBlob(blobInfo: UploadParams, stream: Stream, streamLength: number): Promise<{
body: any;
result: BlobResponse;
}>;
}