export interface PinataMetadata { name?: string; keyvalues?: Record; directoryName?: string; } export interface DirectoryUploadResult { success: boolean; cid?: string; error?: string; } /** * Dedicated service for uploading directories to IPFS via Pinata. * This service is optimized for directory uploads without validation, * rate limiting, or other overhead from the main PinataService. */ export declare class PinataDirectoryUploadService { private readonly pinataJwt; private readonly pinataApiUrl; constructor(pinataJwt: string); /** * Upload an entire directory to Pinata as a single IPFS directory. * All files in the directory are uploaded in a single request. * * @param directoryPath - The absolute path to the directory to upload * @param metadata - Optional metadata for the upload * @returns Upload result with the directory CID */ uploadDirectory(directoryPath: string, metadata?: PinataMetadata): Promise; /** * Recursively get all files in a directory. * @param dir - Directory path * @returns Array of file paths */ private getAllFiles; /** * Get relative path from base directory, preserving the property directory structure. * For the upload command, we want to preserve: propertyDir/filename.json * * @param base - Base directory path (the extracted temp directory) * @param file - File path * @returns Relative path in format: propertyDir/filename */ private getRelativePath; } //# sourceMappingURL=pinata-directory-upload.service.d.ts.map