/// import { AxiosInstance } from 'axios'; import FormData from 'form-data'; export type TGenericImageUploadResponse = { directLink: string; }; export interface IGenericImageUploadService { uploadFromBinary(imageData: Buffer, filename: string): Promise; uploadFromFile(filePath: string, filename?: string): Promise; uploadFromUrl(url: string, randomFilename: boolean): Promise; } export declare abstract class GenericImageUploadService implements IGenericImageUploadService { protected axios: AxiosInstance; protected headers: { 'User-Agent': string; }; protected uploadHeaders: Record; protected uploadUrl: string; protected getUploadHeaders(): Record; private _downloadBinary; uploadFromFile(filePath: string, filename?: string): Promise; protected uploadFormData(form: FormData): Promise>; abstract uploadFromBinary(imageData: Buffer, filename: string): Promise; protected getUploadedImageDirectUrl(url: string, linkRx: RegExp): Promise; uploadFromUrl(url: string, randomFilename?: boolean): Promise; protected generateRandomString(length: number): string; }