/**
 * Update name, symbol and image to irys to get metadata uri
 * This module handles the complete metadata upload process:
 * 1. Validate image file type and size
 * 2. Upload image to Irys network
 * 3. Create metadata JSON with image URL and token info
 * 4. Upload metadata JSON to Irys network
 * 5. Return final metadata URL
 */
import { GenerateMetadataUriOptions, MetadataParams, MetadataUploadResponse, NetworkConfig } from "./types";
import { ApiResponse } from "./raydium/types";
/**
 * Validates image file type and size based on frontend validation logic
 * @param imagePath Path to the image file
 * @returns Object with validation result and error message if any
 */
declare const validateImageFile: (imagePath: string) => {
    valid: boolean;
    error?: string;
};
/**
 * Uploads file to Irys network
 * @param filePath Path to the file to upload
 * @param action Type of upload (avatar, banner, metadata)
 * @returns Promise resolving to the uploaded file URL
 */
declare const uploadToStorage: (config: NetworkConfig, filePath: string, action?: string) => Promise<string>;
/**
 * Determines MIME type based on file extension
 * @param filePath Path to the file
 * @returns MIME type string
 */
declare const getMimeType: (filePath: string) => string;
/**
 * Creates metadata JSON object and uploads it to Irys
 * @param params Metadata parameters
 * @param imageUrl URL of the uploaded image
 * @returns Promise resolving to the metadata URL
 */
declare const createAndUploadMetadata: (config: NetworkConfig, params: MetadataParams, imageUrl: string) => Promise<string>;
/**
 * Main function to generate metadata URI from command line parameters
 * @param name Token name
 * @param symbol Token symbol
 * @param description Token description
 * @param imagePath Path to the image file
 * @returns Promise resolving to metadata upload result
 */
declare const generateMetadataUri: (options: GenerateMetadataUriOptions) => Promise<ApiResponse<MetadataUploadResponse>>;
export { validateImageFile, uploadToStorage, createAndUploadMetadata, getMimeType, generateMetadataUri, };
