import type CreativeEditorSDK from '@cesdk/cesdk-js';
import { EachLabsClient } from './createEachLabsClient';
/**
 * Uploads an image to EachLabs storage if needed.
 * Handles blob: and buffer: URLs by uploading them to EachLabs storage.
 * Regular URLs and data URIs are passed through unchanged.
 *
 * @param client - The EachLabs client instance
 * @param imageUrl - The image URL to process
 * @param cesdk - Optional CE.SDK instance for buffer URL handling
 * @returns The uploaded URL or the original URL if no upload was needed
 */
export declare function uploadImageInputToEachLabsIfNeeded(client: EachLabsClient, imageUrl?: string, cesdk?: CreativeEditorSDK): Promise<string | undefined>;
/**
 * Uploads an array of images to EachLabs storage if needed.
 * Used for multi-image inputs like image-to-video generation.
 *
 * @param client - The EachLabs client instance
 * @param imageUrls - Array of image URLs to process
 * @param cesdk - Optional CE.SDK instance for buffer URL handling
 * @returns Array of uploaded URLs
 */
export declare function uploadImageArrayToEachLabsIfNeeded(client: EachLabsClient, imageUrls?: string[], cesdk?: CreativeEditorSDK): Promise<string[] | undefined>;
