//@ts-ignore
import React, { Component, ChangeEvent } from 'react';
import { BaseToolProps, ISignTool, TypeToolModel } from './types';
import { SignToolSettings } from '../ViewerOptions';
/**
 * Signature type tool component.
 **/
export declare class TypeTool extends Component<BaseToolProps, TypeToolModel> implements ISignTool {
    private _mounted;
    private _canvas;
    private _dropdown;
    private _textInput;
    private _pendingFocus;
    private _isDirty;
    private _canvasRuler;
    state: TypeToolModel;
    constructor(props: BaseToolProps, state: TypeToolModel);
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(): void;
    focusInput(): void;
//@ts-ignore
//@ts-ignore
    render(): React.JSX.Element;
    onTextChange(e: ChangeEvent<HTMLInputElement>): void;
    private renderToolbar;
    /**
     * @ignore
     **/
    get isMounted(): boolean;
    /**
     * Gets the text color.
     **/
    get textColor(): string;
    /**
    * Sets the text color.
    **/
    set textColor(textColor: string);
    /**
     * @default true
     **/
    get italic(): boolean;
    set italic(italic: boolean);
    get bold(): boolean;
    set bold(bold: boolean);
    set text(text: string);
    get text(): string;
    get fontSize(): number;
    set fontSize(fontSize: number);
    get fontName(): string;
    set fontName(fontName: string);
    get fontNames(): string[];
    get hideToolbar(): boolean;
    get settings(): SignToolSettings;
    setSetting(settingName: string, value: any): void;
    clearText(): void;
    clearCanvas(): void;
    redrawText(): void;
    repaintCanvas(): void;
    markDirty(isDirty: boolean): void;
    get canvasSize(): {
        width: number;
        height: number;
    };
    /**
    * Returns result image as data url.
    **/
    toDataURL(): string;
    /**
     * Returns result image blob data.
     **/
    toImageData(): Promise<Uint8Array | null>;
    private onColorSelect;
}
