package flash.text.engine;

@:final extern class TextLine extends flash.display.DisplayObjectContainer {
	var ascent(default,never) : Float;
	var atomCount(default,never) : Int;
	var descent(default,never) : Float;
	var hasGraphicElement(default,never) : Bool;
	@:require(flash10_1) var hasTabs(default,never) : Bool;
	var mirrorRegions(default,never) : flash.Vector<TextLineMirrorRegion>;
	var nextLine(default,never) : TextLine;
	var previousLine(default,never) : TextLine;
	var rawTextLength(default,never) : Int;
	var specifiedWidth(default,never) : Float;
	var textBlock(default,never) : TextBlock;
	var textBlockBeginIndex(default,never) : Int;
	var textHeight(default,never) : Float;
	var textWidth(default,never) : Float;
	var totalAscent(default,never) : Float;
	var totalDescent(default,never) : Float;
	var totalHeight(default,never) : Float;
	var unjustifiedTextWidth(default,never) : Float;
	var userData : Dynamic;
	var validity : String;
	function new() : Void;
	function dump() : String;
	function flushAtomData() : Void;
	function getAtomBidiLevel(atomIndex : Int) : Int;
	function getAtomBounds(atomIndex : Int) : flash.geom.Rectangle;
	function getAtomCenter(atomIndex : Int) : Float;
	function getAtomGraphic(atomIndex : Int) : flash.display.DisplayObject;
	function getAtomIndexAtCharIndex(charIndex : Int) : Int;
	function getAtomIndexAtPoint(stageX : Float, stageY : Float) : Int;
	function getAtomTextBlockBeginIndex(atomIndex : Int) : Int;
	function getAtomTextBlockEndIndex(atomIndex : Int) : Int;
	function getAtomTextRotation(atomIndex : Int) : String;
	function getAtomWordBoundaryOnLeft(atomIndex : Int) : Bool;
	function getBaselinePosition(baseline : String) : Float;
	function getMirrorRegion(mirror : flash.events.EventDispatcher) : TextLineMirrorRegion;
	static var MAX_LINE_WIDTH(default,never) : Int;
}
