/// <reference path="../vendor/react/react.d.ts" />
//@ts-ignore
import React, { Component } from 'react';
import { BaseToolProps, ISignTool, SignToolModel } from './types';
import { SignToolSettings } from '../ViewerOptions';
/**
 * Signature tool component.
 **/
export declare class DrawTool extends Component<BaseToolProps, SignToolModel> implements ISignTool {
    private _mounted;
    private _canvas;
    private _signaturePad;
    private _dropdown;
    private _isDirty;
    private _onKeyDownHandler;
    constructor(props: BaseToolProps, state: any);
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(): void;
    onKeyDown(e: KeyboardEvent): void;
    render(): React.JSX.Element;
    private renderToolbar;
    /**
     * Gets the canvas size.
     **/
    get canvasSize(): {
        h: number;
        w: number;
    };
    /**
     * @ignore
     **/
    get isMounted(): boolean;
    /**
     * Has undo changes.
     **/
    get hasUndo(): boolean;
    /**
     * Gets current pen color.
     **/
    get penColor(): string;
    /**
    * Sets current pen color.
    **/
    set penColor(penColor: string);
    /**
    * Gets current pen width.
    **/
    get penWidth(): number;
    /**
    * Sets current pen width.
    **/
    set penWidth(penWidth: number);
    get hideToolbar(): boolean;
    get settings(): SignToolSettings;
    setSetting(settingName: string, value: any): void;
    /**
     * Returns result image as data url.
     **/
    toDataURL(): string;
    /**
     * Returns result image blob data.
     **/
    toImageData(): Promise<Uint8Array | null>;
    /**
     * Clear canvas.
     **/
    clear(): void;
    markDirty(isDirty: boolean): void;
    /**
     * Undo last operation.
     **/
    undo(): void;
    repaintCanvas(): void;
    private onColorSelect;
    private _clearInternal;
}
