import { IPFSParams } from "../types";
export declare const resolveIPFS: (value: string) => string;
export interface PinataConfig {
    jwt: string;
}
interface UploadResponse {
    IpfsHash: string;
    PinSize: number;
    Timestamp: string;
    isDuplicate: boolean;
}
/**
 * Uploads a file to IPFS using Pinata
 * @param params Configuration and file data
 * @returns Upload response with CID and other details
 */
export declare const uploadFileToIPFS: (params: {
    pinataConfig: PinataConfig;
    file: File;
    name?: string;
    metadata?: Record<string, string>;
}) => Promise<UploadResponse>;
/**
 * Uploads JSON data to IPFS using Pinata
 * @param params Configuration and JSON data
 * @returns Upload response with CID and other details
 */
export declare const uploadJsonToIPFS: (params: {
    pinataConfig: PinataConfig;
    json: Record<string, any>;
    name?: string;
    metadata?: Record<string, string>;
}) => Promise<UploadResponse>;
/**
 * Uploads a base64 image to IPFS using Pinata
 * @param params Configuration and base64 image data
 * @returns Upload response with CID and other details
 */
export declare const uploadImageToIPFS: (params: {
    pinataConfig: PinataConfig;
    base64Image: string;
    name?: string;
    metadata?: Record<string, string>;
}) => Promise<UploadResponse>;
/**
 * Response interface for Flaunch API upload endpoints
 */
interface FlaunchUploadResponse {
    ipfsHash: string;
    [key: string]: any;
}
/**
 * Request interface for Flaunch API metadata upload
 */
interface FlaunchMetadataRequest {
    name: string;
    symbol: string;
    description: string;
    imageIpfs: string;
    websiteUrl?: string;
    discordUrl?: string;
    twitterUrl?: string;
    telegramUrl?: string;
}
/**
 * Uploads a base64 image to IPFS using the Flaunch API
 * @param base64Image Base64 encoded image data
 * @returns Upload response with IPFS hash
 */
export declare const uploadImageToFlaunchAPI: (base64Image: string) => Promise<FlaunchUploadResponse>;
/**
 * Uploads metadata to IPFS using the Flaunch API
 * @param metadata The metadata object to upload
 * @returns Upload response with IPFS hash
 */
export declare const uploadMetadataToFlaunchAPI: (metadata: FlaunchMetadataRequest) => Promise<FlaunchUploadResponse>;
export declare const generateTokenUri: (name: string, symbol: string, params: IPFSParams) => Promise<string>;
export {};
//# sourceMappingURL=ipfs.d.ts.map