interface ClipData {
    url: string;
    blob: Blob;
}
interface Config {
    el: HTMLDivElement;
    reviewCall?: (url: string) => void;
}
export default class ClipImg {
    private readonly el;
    private readonly canvas;
    private context;
    private imgCtx;
    private readonly controllerBox;
    private controllerIsDown;
    private readonly reviewCall;
    private reviewSrc;
    constructor(config: Config);
    private init;
    private createControlBoxImg;
    private getEvent;
    setImg(file: File): void;
    setSize(width?: number, height?: number): void;
    private createControlBox;
    private createControlBtn;
    private computeSize;
    private getClipView;
    getClipData(size?: number): Promise<ClipData>;
    private compress;
    clientX(el: HTMLElement): number;
    clientY(el: HTMLElement): number;
    pageX(el: HTMLElement): number;
    pageY(el: HTMLElement): number;
    scrollX(elOrWindow?: Element): number;
    scrollY(elOrWindow?: Element): number;
}
export {};
