/// import 'reflect-metadata'; import { AESKey } from './encryption-service'; import { EthereumService } from './ethereum-service'; import { BackendService } from './backend-service'; import { FileStoreInterface, FileMetadata } from './file-store-service'; export declare class KeyPacket { readonly aesKey: AESKey; readonly filesAddresses: Array; constructor(aesKey: AESKey, filesAddresses: Array); static fromJson(json: string): KeyPacket; } export declare class TrackingData { readonly cmw: number; readonly rawAmount: number; readonly grade: number; readonly mineLatitude: number; readonly mineLongitude: number; readonly materialId: string; constructor(cmw: number, rawAmount: number, grade: number, mineLatitude: number, mineLongitude: number, materialId: string); } interface AESKeyInterface { iv: { type: string; data: Array; }; key: { type: string; data: Array; }; } interface DataPacketEnvelopeInterface { packetId: string; publicFilesKey: AESKeyInterface; privateFilesKey: AESKeyInterface; } export declare class Packet { readonly id: string; readonly cmw: number; readonly materialId: string; readonly publicFilesAddresses: Array; readonly privateFilesAddresses: Array; readonly status: string; constructor(id: string, cmw: number, materialId: string, publicFilesAddresses: Array, privateFilesAddresses: Array, status: string); } export declare class DataPacketEnvelope { readonly packetId: string; readonly publicFilesKey: AESKey; readonly privateFilesKey: AESKey; constructor(packetId: string, publicFilesKey: AESKey, privateFilesKey: AESKey); toJson(): string; static fromJson(rawDataPacketEnvelope: DataPacketEnvelopeInterface): DataPacketEnvelope; } export declare class DataPacketService { private fileStore; private ethereumService; private backendService; constructor(fileStore: FileStoreInterface, ethereumService: EthereumService, backendService: BackendService); certifyDataPacket(trackingData: TrackingData, publicFiles: FileList | File[], privateFiles: FileList | File[]): Promise; sellDataPacket(dataPacketEnvelope: DataPacketEnvelope, cmw: number, newOwnerAddress: string, publicFiles: FileList, privateFiles: FileList, currentOwnerPrivateKey: Buffer): Promise; createEncryptedPacketEnvelope(packetEnvelope: DataPacketEnvelope, publicKey: Buffer): Promise; downloadDataPacketEnvelope(dataPacketEnvelopeAddress: string, privateKey: Buffer): Promise; getPacket(packetId: string): Promise; getMyDataPackets(): Promise; getDataPackets(owner: string): Promise; uploadFiles(files: FileList | File[], aesKey?: AESKey): Promise; downloadMetadataFiles(keyPacket: KeyPacket): Promise>; downloadFile(key: AESKey, address: string): Promise; downloadFiles(keyPacket: KeyPacket): Promise; private fileToBuffer; decryptKeyPacket(encryptedKeyPacket: Buffer, aesKey: AESKey): Promise; } export {};