import { Size } from './image';
import { ICrop, IOffset } from './ts/common';
import { Bbox } from '../types/geometry';
type GetIDataFromCenter = (offsetVertical: number, offsetHorizontal: number) => ImageData;
export declare const getOrigData: () => ImageData;
export declare const getResizedData: () => ImageData;
export declare const getFaceOrigData: () => Promise<ImageData>;
/**
 * returns ImageData of image offsets from center
 * @param {number} offsetVertical
 * @param {number} offsetHorizontal
 * @return ImageData
 */
export declare const getIDataFromCenter: GetIDataFromCenter;
export declare const getBase64Data: () => string;
export declare const getDataURL: (canvas: HTMLCanvasElement, format?: string, quality?: number) => Promise<string>;
export declare const getBlob: (canvas: HTMLCanvasElement, format?: string, quality?: number) => Promise<Blob>;
export declare const cutBboxFromImageData: (imageData: any, bbox: any) => ImageData;
export declare const drawImageOnTestCanvas: (idata: ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, elId?: string) => {
    canvas: HTMLCanvasElement;
    ctx: CanvasRenderingContext2D;
};
export declare const drawCropOnCanvas: (bbox: Bbox, sourceDimensions: {
    width: number;
    height: number;
}, targetCanvas: HTMLCanvasElement, lineWidth?: number) => void;
export declare const resize: (src: HTMLCanvasElement | HTMLVideoElement, dst: HTMLCanvasElement, offsets?: IOffset, cropSizes?: Size) => ImageData;
export declare const cropAndResize: (src: HTMLCanvasElement | HTMLVideoElement, dst: HTMLCanvasElement) => {
    crop: ICrop;
    resized: ImageData;
};
export declare const createCanvas: (id: string, size: Size) => HTMLCanvasElement;
export declare const createCanvasFromImage: (id: string, image: HTMLImageElement) => HTMLCanvasElement;
export declare const createCanvasFromImageData: (id: string, imageData: ImageData) => HTMLCanvasElement;
export declare const getCanvasFromImageData: (imageData: ImageData) => HTMLCanvasElement;
export declare function calculateFitInSquare(outerBox: any, innerBox: any, padding?: number): {
    x: number;
    y: number;
    width: number;
    height: number;
};
declare const _default: {
    getOrigData: () => ImageData;
    getResizedData: () => ImageData;
    getBase64Data: () => string;
    cropAndResize: (src: HTMLCanvasElement | HTMLVideoElement, dst: HTMLCanvasElement) => {
        crop: ICrop;
        resized: ImageData;
    };
};
export default _default;
