///
import FormData from 'form-data';
import { URL } from 'url';
import { AddDirectoryResponse, AddParams, AddResponse, FileWithName, PinOptions, PinResponse, RequestOptions, StatusOptions, StatusResponse } from './types';
export declare class IpfsClusterClient {
/**
* @param {URL|string} url Cluster HTTP API root URL.
* @param {{ headers?: Record }} [options]
*/
readonly clusterHost: URL;
/**
* base64 encoded
*/
private readonly authorizationHeader;
constructor(host: string, username?: string, password?: string);
/**
* @param {API.RequestOptions} [options]
*/
version(options?: RequestOptions): Promise;
/**
* @param {API.RequestOptions} [options]
* @returns {Promise}
*/
info(options?: RequestOptions): Promise<{
id: any;
addresses: any;
version: any;
commit: any;
peerName: any;
rpcProtocolVersion: any;
clusterPeers: any;
clusterPeersAddresses: any;
ipfs: any;
}>;
constructHeaders(headers?: Record): Record;
addFromFormData(formData: FormData, options?: AddParams): Promise;
/**
* For endpoint https://docs.ipfs.io/reference/http/api/#api-v0-add
*/
addFile(file: FileWithName, options?: AddParams): Promise;
addData(file: FileWithName, options: AddParams): Promise;
addDirectory(files: FileWithName[], options?: RequestOptions): Promise;
pin(cid: string, options: PinOptions): Promise;
unpin(cid: string, options?: RequestOptions): Promise;
pinls(options: RequestOptions): Promise;
status(cid: string, options?: StatusOptions): Promise;
allocation(cid: string, options?: RequestOptions): Promise;
recover(cid: string, options?: RequestOptions): Promise;
/**
* @param {API.RequestOptions} [options]
* @returns {Promise}
*/
metricNames(options?: RequestOptions): Promise;
}