///
import { fileUploadOptionalParameters } from "../common/multipart-uploader";
import { SdkClient } from "../common/sdk-client";
import { IotFileModels } from "./iot-file-models";
/**
*
* The IoT File API enables storing and retrieving files for entity instances.
*
* * The IoT File Client provides a Upload File Method which will do the most important things for you.
* * It is highly recomended to use the UploadFile method instead of the raw api methods.
*
* @export
* @class IotFileClient
* @extends {SdkClient}
*/
export declare class IotFileClient extends SdkClient {
private _baseUrl;
/**
* Create or update a file for the specified entity and path, with the provided content.
* * The most complete function is UploadFile. This is provided for completeness.
*
* @param {string} entityId
* @param {string} filepath
* @param {(string | Buffer)} file
* @param {{ part?: number; ifMatch: number; timestamp?: Date; description?: string; type?: string }} [params]
* @returns {Promise}
*
* @memberOf IotFileClient
*/
PutFile(entityId: string, filepath: string, file: string | Buffer, params?: {
part?: number;
ifMatch?: number;
timestamp?: Date;
description?: string;
type?: string;
}): Promise;
/**
*
* Read a file for the specified entity and path
*
* @param {string} entityId Id to instance of entity
* @param {string} filepath path of the file including filename
* @param {(string | Buffer)} file
* @param {{ ifNoneMatch?: number; range?: string }} [params]
* @param {number | undefined} [params.ifNoneMatch] ETag of the latest version (not supported in this release)
* @param {number | undefined} [params.ifNoneMatch] Part of a file to return in Bytes, eg bytes=200-600
* @returns {Promise}
*
* @memberOf IotFileClient
*/
GetFile(entityId: string, filepath: string, params?: {
ifNoneMatch?: number;
range?: string;
}): Promise;
/**
* Search files for the specified entity.
*
* @param {string} entityid
* @param {{ offset?: number; limit?: number; count?: number; order?: string; filter?: string }} [params]
* @returns {Promise}
*
* @memberOf IotFileClient
*/
GetFiles(entityid: string, params?: {
offset?: number;
limit?: number;
count?: boolean;
order?: string;
filter?: string;
}): Promise;
/**
* Delete a file for the specified entity and path
*
* @param {string} entityId
* @param {string} filepath
* @returns
*
* @memberOf IotFileClient
*/
DeleteFile(entityId: string, filepath: string): Promise