import { TextFormat } from "./TextFormat";
import { StyleSheet } from "./StyleSheet";
import { TextLineMetrics } from "./TextLineMetrics";
import { Sprite } from "../display/Sprite";
import { MouseEvent } from "../events/MouseEvent";
import { Matrix } from "../geom/Matrix";
import { Rectangle } from "../geom/Rectangle";
import { DisplayObject } from "../display/DisplayObject";
import { Canvas } from "canvaskit-wasm";
import { BitmapFilter } from "../filters/BitmapFilter";
export declare class TextField extends DisplayObject {
    private paragraph;
    private shadowParagraph;
    private shadowOffsetX;
    private shadowOffsetY;
    private paraBuilder;
    private paraStyle;
    private paraFontMgr;
    private font;
    private textPaint;
    private input;
    private _type;
    private graphics;
    private graphicsDirty;
    private glDirty;
    private _text;
    private lines;
    private _textFormat;
    private _width;
    private _height;
    private _autoSize;
    private _background;
    private _backgroundColor;
    private _border;
    private _borderColor;
    private _cacheImage;
    private _cacheOffsetX;
    private _cacheOffsetY;
    chars: any[];
    private static indexPool;
    private static DRAWABLE_POOL;
    private da;
    private indexBufferSet;
    private nowKey;
    private num;
    private charVersion;
    disWrapper: Sprite;
    _textWidth: number;
    _textHeight: number;
    private _wordWrap;
    private static lineInfos;
    hasATag: boolean;
    tagas: any[];
    private href;
    private _htmlText;
    constructor();
    private removedFromStage;
    static isFontCompatible: (param1: string, param2: string) => boolean;
    get alwaysShowSelection(): boolean;
    set alwaysShowSelection(param1: boolean);
    get antiAliasType(): string;
    set antiAliasType(param1: string);
    get autoSize(): string;
    set autoSize(param1: string);
    get background(): boolean;
    set background(param1: boolean);
    get backgroundColor(): number;
    set backgroundColor(param1: number);
    get border(): boolean;
    set border(param1: boolean);
    get borderColor(): number;
    set borderColor(param1: number);
    get bottomScrollV(): number;
    get caretIndex(): number;
    get condenseWhite(): boolean;
    set condenseWhite(param1: boolean);
    get defaultTextFormat(): TextFormat;
    set defaultTextFormat(param1: TextFormat);
    get embedFonts(): boolean;
    set embedFonts(param1: boolean);
    get gridFitType(): string;
    set gridFitType(param1: string);
    get length(): number;
    get textInteractionMode(): string;
    get maxChars(): number;
    set maxChars(param1: number);
    get maxScrollH(): number;
    get maxScrollV(): number;
    get mouseWheelEnabled(): boolean;
    set mouseWheelEnabled(param1: boolean);
    get multiline(): boolean;
    set multiline(param1: boolean);
    get numLines(): number;
    get displayAsPassword(): boolean;
    set displayAsPassword(param1: boolean);
    get restrict(): string;
    set restrict(param1: string);
    get scrollH(): number;
    set scrollH(param1: number);
    get scrollV(): number;
    set scrollV(param1: number);
    get selectable(): boolean;
    set selectable(param1: boolean);
    get selectedText(): string;
    get selectionBeginIndex(): number;
    get selectionEndIndex(): number;
    get sharpness(): number;
    set sharpness(param1: number);
    get styleSheet(): StyleSheet;
    set styleSheet(param1: StyleSheet);
    get htmlText(): string;
    set htmlText(value: string);
    private doXML;
    get text(): string;
    set text(value: string);
    appendText: (value: string) => void;
    private static PUSH_POOL;
    private static POP_POOL;
    private __updateBuff;
    get textColor(): number;
    set textColor(color: number);
    get textHeight(): number;
    get textWidth(): number;
    get thickness(): number;
    set thickness(param1: number);
    get type(): string;
    set type(param1: string);
    private input_change;
    get wordWrap(): boolean;
    set wordWrap(param1: boolean);
    get width(): number;
    set width(value: number);
    get height(): number;
    set height(value: number);
    getBounds: (v: DisplayObject) => Rectangle;
    getFullBounds: (v: DisplayObject) => Rectangle;
    getCharBoundaries: (param1: number) => Rectangle;
    getCharIndexAtPoint: (param1: number, param2: number) => number;
    private getCharIndexNearestPoint;
    getFirstCharInParagraph: (param1: number) => number;
    getLineIndexAtPoint: (param1: number, param2: number) => number;
    getLineIndexOfChar: (param1: number) => number;
    getLineLength: (param1: number) => number;
    getLineMetrics: (param1: number) => TextLineMetrics;
    getLineOffset: (param1: number) => number;
    getLineText: (param1: number) => string;
    getParagraphLength: (param1: number) => number;
    getTextFormat: (param1?: number, param2?: number) => TextFormat;
    getTextRuns: (param1?: number, param2?: number) => any[];
    getRawText: () => string;
    replaceSelectedText: (param1: string) => void;
    replaceText: (beginIndex: number, endIndex: number, newText: string) => void;
    setSelection: (param1: number, param2: number) => void;
    setTextFormat: (param1: TextFormat, param2?: number, param3?: number) => void;
    getImageReference: (param1: string) => DisplayObject;
    get useRichTextClipboard(): boolean;
    set useRichTextClipboard(param1: boolean);
    __update: (ctx: Canvas, offsetX?: number, offsetY?: number, filters?: BitmapFilter[]) => void;
    __draw: (ctx: Canvas, m: Matrix, filters: BitmapFilter[]) => void;
    private handleHTMLMouseDown;
    protected __doMouse: (e: MouseEvent) => DisplayObject;
    hitTestPoint: (x: number, y: number, shapeFlag?: boolean) => boolean;
    private getNextPow2;
    private parseFromString;
}
