///
import { CanvasRenderingContext2D } from "canvas";
import sharp, { Sharp } from "sharp";
import { ImageAnalyzer } from "./analyzer";
import { Rect, Sizeable } from "./utils";
export interface ImgTransformOptions {
border?: number;
beforeDrawBorder?: (c: CanvasRenderingContext2D) => void;
maxSize: Sizeable;
heroSize: Sizeable;
}
export declare class ImageWorkbench {
buffer: Buffer;
origin: Sharp;
private _imageAnalyzer?;
constructor(buffer: Buffer);
get imageAnalyzer(): Promise;
makeBorder(border: {
size: number;
color?: string;
blurSize?: number;
}): Promise<{
canvas: import("canvas").Canvas;
originImageArea: Rect;
heroArea: Rect;
}>;
transform(config: ImgTransformOptions): Promise;
containTransform(opts: {
size: Sizeable;
padding?: number;
}): Promise;
}