///
///
import looksSame from "looks-same";
import { DiffOptions, ImageSize } from "./types";
interface PngImageData {
data: Buffer;
size: ImageSize;
}
export interface Point {
top: number;
left: number;
}
export interface Size {
width: number;
height: number;
}
export type Rect = Point & Size;
export interface RGB {
R: number;
G: number;
B: number;
}
export interface RGBA {
r: number;
g: number;
b: number;
a: number;
}
interface CompareOptions {
canHaveCaret?: boolean;
pixelRatio?: number;
compareOpts?: looksSame.LooksSameOptions;
tolerance?: number;
antialiasingTolerance?: number;
}
export declare const extractBase64PngSize: (base64EncodedPng: string) => ImageSize;
export declare class Image {
private _imgDataPromise;
private _imgData;
private _width;
private _height;
private _composeImages;
private _clearAreas;
private _decodeError;
private _hasICCPChunk;
static create(buffer: Buffer): Image;
constructor(buffer: Buffer);
constructor(size: Size);
get hasICCPChunk(): boolean;
_getImgData(): Promise;
_ensureImagesHaveSameWidth(): void;
getSize(): ImageSize;
clone(): Promise;
crop(rect: Rect): Promise;
addJoin(attachedImages: this[]): void;
applyJoin(): Promise;
clearArea(rect: Rect): Promise;
addClear(rect: Rect): Promise;
private _clipRect;
getRGB(x: number, y: number): Promise;
_getPngBuffer(): Promise;
save(file: string): Promise;
static fromBase64(base64: string): Image;
toPngBuffer(opts: {
resolveWithObject: true;
}): Promise;
toPngBuffer(opts: {
resolveWithObject?: false;
}): Promise;
static compare(path1: string, path2: string, opts?: CompareOptions): Promise;
static buildDiff(opts: DiffOptions): Promise;
}
export {};