import TextOptions from "./TextOptions";
import TextFormat from "./TextFormat";
import MeshStyle from "../styles/MeshStyle";
import MeshBatch from "../display/MeshBatch";
declare namespace starling.text {
/**
* A text compositor arranges letters for Starling's TextField.
*/
export interface ITextCompositor {
/**
* Draws the given text into a MeshBatch, using the supplied format and options.
*/
fillMeshBatch(meshBatch: MeshBatch, width: number, height: number, text: string, format: TextFormat, options?: TextOptions): void;
/**
* Clears the MeshBatch (filled by the same class) and disposes any resources that
* * are no longer needed.
*/
clearMeshBatch(meshBatch: MeshBatch): void;
/**
* Creates and/or sets up the default MeshStyle to be used for rendering.
* * If previousStyle has the correct type, it is configured as needed and
* * then returned; otherwise, a new style is created, configured and returned.
* * The method may return null if there are no special style requirements.
*/
getDefaultMeshStyle(previousStyle: MeshStyle, format: TextFormat, options: TextOptions): MeshStyle;
/**
* Frees all resources allocated by the compositor.
*/
dispose(): void;
}
}
type ITextCompositor = starling.text.ITextCompositor;
export default ITextCompositor;