import GC from '@grapecity/spread-sheets';
import { CellEditorContext } from '../types';
import './image-styles.scss';
import ImageClickHandler from './image-click-handler';
export { ImageClickHandler, };
export declare class ImageCellType extends GC.Spread.Sheets.CellTypes.Base {
    fileName?: string;
    resourceId?: string;
    dataValidator: GC.Spread.Sheets.DataValidation.DefaultDataValidator | null;
    image: HTMLImageElement | null;
    imageRect: DOMRect | null;
    constructor();
    fromJSON(settings: any): void;
    toJSON(): any;
    createEditorElement(context?: CellEditorContext): HTMLDivElement;
    updateEditor(editorContext: HTMLElement, cellStyle: GC.Spread.Sheets.Style, cellRect: GC.Spread.Sheets.Rect, context?: CellEditorContext): GC.Spread.Sheets.Rect;
    isEditingValueChanged(oldValue: unknown, newValue: unknown): boolean;
    getHitInfo(x: number, y: number, cellStyle: GC.Spread.Sheets.Style, cellRect: GC.Spread.Sheets.Rect, context?: any): GC.Spread.Sheets.IHitTestCellTypeHitInfo;
    processMouseMove(hitInfo: GC.Spread.Sheets.IHitTestCellTypeHitInfo): boolean;
    processMouseUp(hitInfo: GC.Spread.Sheets.IHitTestCellTypeHitInfo): boolean;
    processMouseDown(hitInfo: GC.Spread.Sheets.IHitTestCellTypeHitInfo): boolean;
    isReservedKey(event: KeyboardEvent, context?: any): boolean;
    processKeyDown(event: KeyboardEvent, context?: any): boolean;
    paint(ctx: CanvasRenderingContext2D, value: any, x: number, y: number, w: number, h: number, style: GC.Spread.Sheets.Style, context?: any): void;
    static createImage(resourceId: string, fileName: string): ImageCellType;
}
