import { Stream } from 'node:stream'; export type FaceSwapConfig = { /** * process.env.FACESWAP_API_KEY */ faceSwapApiKey: string; /** * Debug mode * @default false */ debugMode?: boolean; }; /** * Face Swap, https://rapidapi.com/MorfranTechnology/api/faceswap-image-transformation-api/ * @param imageUrl The image url * @param faceUrl The face url * @param config Configuration * @returns The swapped image url */ export declare const faceSwap: (imageUrl: string, faceUrl: string, config: FaceSwapConfig) => Promise; export interface Vertex { x: number; y: number; } /** * Create a mask from the vertices of the logo * @param imagePath Path to the image * @param vertices Vertices of the logo, will to print as white background color block mask * @returns Buffer of the mask */ export declare const createMask: (imagePath: string, vertices: Vertex[]) => Promise; export type RemoveWatermarkConfig = { /** * Debug mode * @default false */ debugMode?: boolean; /** * API type, `clipDrop` or `cleanupPicture` */ apiType: "clipDrop" | "cleanupPicture"; /** * process.env.REMOVE_WATERMARK_API_KEY */ apiKey: string; }; /** * Remove watermark using `clipdrop` API, https://clipdrop.co/apis/docs/cleanup * @param imagePath Path to the image * @param maskPath Path to the mask or read stream of the mask * @param config Config of clipdrop API * @returns Buffer of the image */ export declare const removeWatermark: (imagePath: string, maskPath: string | Stream, config: RemoveWatermarkConfig) => Promise; export type UploadImageToImgbbConfig = { /** * process.env.REMOVE_WATERMARK_API_KEY */ apiKey: string; }; type ImageData$1 = { filename: string; name: string; mime: string; extension: string; url: string; }; export type ResponseData = { id: string; title: string; url_viewer: string; url: string; display_url: string; width: string; height: string; size: string; time: string; expiration: string; image: ImageData$1; thumb: ImageData$1; medium: ImageData$1; delete_url: string; }; export type ApiResponse = { data: ResponseData; success: boolean; status: number; }; export declare const uploadImageToImgbb: (imagePath: string, config: UploadImageToImgbbConfig) => Promise; export type LogoDetectorConfig = { /** * Debug mode * @default false */ debugMode?: boolean; /** * API type, `edenai` */ apiType: "edenai"; /** * process.env.DETECT_LOGO_API_KEY */ apiKey: string; }; export interface BoundingPoly { vertices: Vertex$1[]; } interface Vertex$1 { x: number; y: number; } export interface Item { bounding_poly: BoundingPoly; description: string; score: number; } export interface LogoDetectorResponse { status: string; items: Item[]; cost: number; } export declare const mockEdenaiData: LogoDetectorResponse; /** * https://app.edenai.run/bricks/image/logo-detection * Detecting the position of logo using `edenai` API, https://www.edenai.co/ * @param imagePath Path to the image * @param config Configuration * @returns Google response */ export declare const logoDetector: (imagePath: string, config: LogoDetectorConfig) => Promise; export {};