///
import 'reflect-metadata';
import { KeyPacket, DataPacketEnvelope, Packet } from './service/data-packet-service';
import { KeyPair, AESKey } from './service/encryption-service';
import { FileMetadata } from './service/file-store-service';
import { ProviderAdapterInterface, Entity } from './adapter/provider-adapter';
export { DataPacketEnvelope, KeyPacket } from './service/data-packet-service';
export { Web3Adapter } from './adapter/web3-adapter';
export { ProviderAdapterInterface, EntityType } from './adapter/provider-adapter';
export declare enum Material {
Gold = 0,
Silver = 1,
Diamond = 2,
Silica = 3
}
export interface ProducerMBCertification {
total: number;
used: number;
}
export interface CertifyDataPacketCommand {
cmw: number;
rawAmount: number;
grade: number;
geoLocation: [number, number];
materialId: number;
publicFiles: FileList;
privateFiles: FileList;
}
export declare class SellDataPacketsCommand {
readonly packets: DataPacketEnvelope[];
readonly cmw: number;
readonly newOwnerAddress: string;
readonly newOwnerPublicKey: Buffer;
readonly publicFiles: FileList;
readonly privateFiles: FileList;
constructor(packets: DataPacketEnvelope[], cmw: number, newOwnerAddress: string, newOwnerPublicKey: Buffer, publicFiles: FileList, privateFiles: FileList);
}
export declare class Minespider {
private dataPacketService;
private minespiderService;
private backendService;
private ethereumService;
private fileStoreService;
constructor(providerAdapter: ProviderAdapterInterface);
registerEntity(entity: Entity): Promise;
certifyDataPacket(certifyDataPacketCommand: CertifyDataPacketCommand, privateKeyHex: string): Promise;
sellPacket(dataPacketEnvelope: DataPacketEnvelope, cmw: number, newOwnerAddress: string, publicFiles: FileList, privateFiles: FileList, currentOwnerPrivateKey: Buffer): Promise;
getPacket(packetId: string): Promise;
getMyDataPackets(): Promise;
downloadDataPacketEnvelope(address: string, privateKey: Buffer): Promise;
getDataPacketEnvelopes(owner: string, privateKey: Buffer): Promise;
downloadFile(key: AESKey, address: string): Promise;
downloadFiles(keyPacket: KeyPacket): Promise;
downloadMetadataFiles(keyPacket: KeyPacket): Promise