type Pt = [number, number];
interface Corners {
    tl: Pt;
    tr: Pt;
    br: Pt;
    bl: Pt;
}
interface EdgeCenters {
    t: Pt;
    r: Pt;
    b: Pt;
    l: Pt;
}
interface ViewCenter {
    c: Pt;
}
export interface CropperTheme {
    /** Color used for background and margin */
    backgroundColor?: string;
    /** Color used for tinting the surroundings of the selected area */
    surroundingOverlayColor?: string;
    /** Radius of corner grabbers in rem */
    cornerGrabberRadius?: number;
    /** Color of corner grabbers */
    cornerGrabberColor?: string;
    /** Line thickness of edges in rem (0 to hide edges) */
    edgeThickness?: number;
    /** Color of edges */
    edgeColor?: string;
    /** Radius of edge grabbers in rem (0 to hide edge grabbers) */
    edgeGrabberRadius?: number;
    /** Color of edge grabbers */
    edgeGrabberColor?: string;
    /** Radius of center grabber in rem (0 to hide center grabber) */
    centerGrabberRadius?: number;
    /** Color of center grabber */
    centerGrabberColor?: string;
    /** Factor by which to expand grabbers when hovered */
    grabberExpansionFactor?: number;
    /** Factor for scaling grabber hitboxes (increase for touch devices) */
    grabberHitboxFactor?: number;
    /** Line thickness of crosslines in rem (0 to hide crosslines) */
    crossLineThickness?: number;
    /** Color of crosslines */
    crossLineColor?: string;
    /** Radius of zoom lens in rem (0 to hide zoom lens) */
    zoomLensRadius?: number;
    /** Margin between zoom lens and grabber in rem */
    zoomLensMargin?: number;
    /** Zoom factor of zoom lens */
    zoomLensFactor?: number;
    /** Border thickness of zoom lens in rem */
    zoomLensBorderThickness?: number;
    /** Border color of zoom lens */
    zoomLensBorderColor?: string;
    /** Overlay color of zoom lens */
    zoomLensOverlayColor?: string;
}
export interface CropperOptions {
    /** Use edge detection for placing draggable corners */
    useEdgeDetection?: boolean;
    /** Theme to be used for Cropper UI */
    theme?: CropperTheme;
    /** Canvas element to show edge detection results */
    debugCanvas?: HTMLCanvasElement;
    /** Log debug information in console */
    debugLogs?: boolean;
    /** Initial placement draggable corners (overrides useEdgeDetection) */
    corners?: Corners;
    /** Initial amount of clockwise 90° rotations */
    rotations?: number;
}
export default class Cropper {
    static initialization(): Promise<void>;
    static isReady(): boolean;
    constructor(canvas: HTMLCanvasElement, img: HTMLImageElement, options?: CropperOptions);
    /** Discards event listeners */
    discard(): void;
    setDragged(dragged: keyof Corners | keyof EdgeCenters | keyof ViewCenter | undefined): void;
    setHovered(hovered: keyof Corners | keyof EdgeCenters | keyof ViewCenter | undefined): void;
    /** Returns image cropped according to current position of draggable corners */
    getResult(type?: string, quality?: number): HTMLImageElement;
    rotateLeft(): void;
    rotateRight(): void;
    getRotations(): number;
    getCorners(): Corners;
}

//# sourceMappingURL=intellicrop.d.ts.map
