/** @packageDocumentation
 * @module MarkupTools
 */
import { BeButtonEvent, EventHandled } from "@itwin/core-frontend";
import { G, Text as MarkupText } from "@svgdotjs/svg.js";
import { MarkupTool } from "./MarkupTool";
import { RedlineTool } from "./RedlineTool";
/** Tool to place new text notes on a Markup.
 * @public
 */
export declare class PlaceTextTool extends RedlineTool {
    static toolId: string;
    static iconSpec: string;
    protected _nRequiredPoints: number;
    protected _minPoints: number;
    protected _value: string;
    onPostInstall(): Promise<void>;
    protected showPrompt(): void;
    protected createMarkup(svg: G, ev: BeButtonEvent, isDynamics: boolean): Promise<void>;
    onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled>;
}
/** Tool for editing text. Started automatically by the place text tool and by clicking on text from the SelectTool
 * @public
 */
export declare class EditTextTool extends MarkupTool {
    text?: (MarkupText | G) | undefined;
    private _fromPlaceTool;
    static toolId: string;
    static iconSpec: string;
    editor?: HTMLTextAreaElement;
    editDiv?: HTMLDivElement;
    boxed?: G;
    constructor(text?: (MarkupText | G) | undefined, _fromPlaceTool?: boolean);
    protected showPrompt(): void;
    /** Open the text editor  */
    startEditor(): void;
    /** Called when EditText exits, saves the edited value into the text element */
    onCleanup(): Promise<void>;
    onInstall(): Promise<boolean>;
    onResetButtonUp(_ev: BeButtonEvent): Promise<EventHandled>;
    onDataButtonUp(_ev: BeButtonEvent): Promise<EventHandled>;
    onMouseStartDrag(_ev: BeButtonEvent): Promise<EventHandled>;
}
//# sourceMappingURL=TextEdit.d.ts.map