/** * IPFS client wrapper */ export declare class IPFSClient { private client; private gatewayUrl; private localStorage; private pinataApiKey?; private pinataSecretKey?; constructor(gatewayUrl?: string); /** * Initialize IPFS client * @param ipfsUrl IPFS node URL (default: public IPFS gateway) - Only used in Node.js * @param pinataApiKey Optional Pinata API key * @param pinataSecretKey Optional Pinata secret key */ initialize(ipfsUrl?: string, pinataApiKey?: string, pinataSecretKey?: string): Promise; /** * Upload data to IPFS * @param data Data to upload (string or Buffer) * @returns IPFS CID */ upload(data: string | Buffer): Promise; /** * Upload data using Pinata API (works in browser and Node.js) * @param data Data to upload * @param pinataApiKey Pinata API key * @param pinataSecretKey Pinata secret key * @returns IPFS CID */ uploadToPinata(data: string | Buffer, pinataApiKey: string, pinataSecretKey: string): Promise; /** * Retrieve data from IPFS * @param cid IPFS CID * @returns Data as string */ retrieve(cid: string): Promise; /** * Get IPFS gateway URL for a CID * @param cid IPFS CID * @returns Full gateway URL */ getGatewayUrl(cid: string): string; }