export interface EachLabsVideoInferenceParams {
    /** Model slug (e.g., 'kling-video') */
    model: string;
    /** Model version */
    version: string;
    /** Input parameters for the model */
    input: Record<string, unknown>;
}
export interface EachLabsVideoResult {
    videoURL: string;
}
/**
 * EachLabs storage interface for file uploads
 */
export interface EachLabsStorage {
    /**
     * Upload a file to EachLabs storage
     * @param file - The file to upload
     * @returns The URL of the uploaded file
     */
    upload: (file: File) => Promise<string>;
}
export interface EachLabsClient {
    videoInference: (params: EachLabsVideoInferenceParams, abortSignal?: AbortSignal) => Promise<EachLabsVideoResult[]>;
    /**
     * Storage API for uploading files
     */
    storage: EachLabsStorage;
}
/**
 * Creates an EachLabs API client for video generation
 *
 * @param proxyUrl - The proxy URL to use for API requests
 * @param headers - Optional additional headers
 * @returns EachLabs client instance
 */
export declare function createEachLabsClient(proxyUrl: string, headers?: Record<string, string>): EachLabsClient;
