import { AxiosInstance } from 'axios';
import { HealthStatus } from '../common/types';
import { FileData, UploadEventImageData, UploadEventImageResponse, UploadImageResponse, UploadProfileImageResponse, UploadVideoResponse } from './types';
export declare class UploadService {
    readonly client: AxiosInstance;
    readonly version: string;
    constructor(client: AxiosInstance, version: string);
    /**
     * Returns true if the service is reachable
     *
     * @returns Services' online status
     */
    health(): Promise<HealthStatus>;
    uploadProfileImage(fileData: FileData): Promise<UploadProfileImageResponse>;
    uploadImage(fileData: FileData): Promise<UploadImageResponse>;
    uploadApiVideo(fileData: FileData): Promise<UploadVideoResponse>;
    /**
     * Upload the event images with different formats: 1x1, 4x3, and 16x9
     * @param uploadImageData.image1x1 Content and filename of the 1x1 event image
     * @param uploadImageData.image4x3 Content and filename of the 4x3 event image
     * @param uploadImageData.image16x9 Content and filename of the 16x9 event image
     * @returns Urls of the 1x1, 4x3, and 16x9 images
     */
    uploadEventImage(uploadImageData: UploadEventImageData): Promise<UploadEventImageResponse>;
    /**
     * Boundary is used to separate fields in multipart, a value that should not appear in the data.
     * This value is added in the `Content-Type` header.
     */
    private generateBoundary;
}
//# sourceMappingURL=service.d.ts.map