///
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;
}