import BitmapChar from "./BitmapChar";
import Vector from "openfl/Vector";
declare namespace starling.text {
	/**
	 *  A helper class referencing a BitmapChar and properties about its location and size.
	 *  *
	 *  *  <p>This class is used and returned by <code>BitmapFont.arrangeChars()</code>.
	 *  *  It's typically only needed for advanced changes to Starling's default text composition
	 *  *  mechanisms.</p>
	 *  *
	 *  *  <p>This class supports object pooling. All instances returned by the methods
	 *  *  <code>instanceFromPool</code> and <code>vectorFromPool</code> are returned to the
	 *  *  respective pool when calling <code>rechargePool</code>.</p>
	 *  
	 */
	export class BitmapCharLocation {
		/**
		 *  Create a new instance that references the given char. 
		 */
		constructor(char: BitmapChar);
		/**
		 *  Returns a "BitmapCharLocation" instance from the pool, initialized with the given char.
		 *      *  All instances will be returned to the pool when calling <code>rechargePool</code>. 
		 */
		static instanceFromPool(char: BitmapChar): BitmapCharLocation;
		/**
		 *  Returns an empty Vector for "BitmapCharLocation" instances from the pool.
		 *      *  All vectors will be returned to the pool when calling <code>rechargePool</code>. 
		 */
		static vectorFromPool(): Vector<BitmapCharLocation>;
		/**
		 *  Puts all objects that were previously returned by either of the "...fromPool" methods
		 *      *  back into the pool. 
		 */
		static rechargePool(): void;
		/**
		 *  The actual bitmap char to be drawn. 
		 */
		char: BitmapChar;
		/**
		 *  The scale with which the char must be placed. 
		 */
		scale: number;
		/**
		 *  The x-coordinate of the char's location. 
		 */
		x: number;
		/**
		 *  The y-coordinate of the char's location. 
		 */
		y: number;
		/**
		 *  The index of this char in the processed String. 
		 */
		index: number;
	}
}
export default starling.text.BitmapCharLocation;