//@ts-ignore
import React, { Component } from 'react';
import { BaseToolProps, ImageToolModel, ISignTool } from './types';
import { SignToolSettings } from '../ViewerOptions';
/// <reference path="../vendor/i18next.d.ts" />
//@ts-ignore
import { i18n } from 'i18next';
/**
 * Signature tool component.
 **/
export declare class ImageTool extends Component<BaseToolProps, ImageToolModel> implements ISignTool {
    private _mounted;
    private _canvas;
    private _fileInput;
    private _pendingImageSelect;
    private _img?;
    private _isDirty;
    constructor(props: BaseToolProps, state: any);
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(): void;
    selectImage(): void;
    get in17n(): i18n;
//@ts-ignore
//@ts-ignore
    render(): React.JSX.Element;
    /**
     * @ignore
     **/
    get isMounted(): boolean;
    set hasImage(hasImage: boolean);
    get hasImage(): boolean;
    get settings(): SignToolSettings;
    setSetting(settingName: string, value: any): void;
    clearCanvas(): void;
    redrawImage(): void;
    repaintCanvas(): void;
    fitWithAspectRatio(srcSize: {
        w: number;
        h: number;
    }, destSize: {
        w: number;
        h: number;
    }): {
        x: number;
        y: number;
        w: number;
        h: number;
    };
    get canvasSize(): {
        h: number;
        w: number;
    };
    /**
    * Returns result image as data url.
    **/
    toDataURL(): string;
    /**
     * Returns result image blob data.
     **/
    toImageData(): Promise<Uint8Array | null>;
    markDirty(isDirty: boolean): void;
    private _onChange;
}
