import Label from '../../label/Label'; import Sizer from '../../sizer/Sizer'; import { GeneralCreateGameObjectCallbackType } from './GeneralCreateGameObjectCallbackType'; import CreateBackground from './CreateBackground'; import CreateText from './CreateText'; export default BuildLabelConfig; declare namespace BuildLabelConfig { interface IConfig { /** * Initial x position. */ x?: number, /** * Initial y position. */ y?: number, /** * Initial width. */ width?: number, /** * Initial height. */ height?: number, /** * Layout orientation. */ orientation?: Sizer.OrientationTypes, /** * True to enable right-to-left layout. */ rtl?: boolean, /** * Background configuration. */ background?: CreateBackground.IConfig, /** * True to enable a circular icon mask. */ iconMask?: boolean, /** * True to enforce square fitting for the icon. */ squareFitIcon?: boolean, /** * Uniform icon size. */ iconSize?: number, /** * Icon width override. */ iconWidth?: number, /** * Icon height override. */ iconHeight?: number, /** * Text configuration. */ text?: CreateText.IConfig, /** * Wrap mode for text. */ wrapText?: boolean | 0 | 1 | 2 | 'none' | 'word' | 'char' | 'character', /** * True to auto-adjust text font size. */ adjustTextFontSize?: boolean, /** * True to expand text width. */ expandTextWidth?: boolean, /** * True to expand text height. */ expandTextHeight?: boolean, /** * True to enforce square fitting for the action. */ squareFitAction?: boolean, /** * True to enable a circular action mask. */ actionMask?: boolean, /** * Uniform action size. */ actionSize?: number, /** * Action width override. */ actionWidth?: number, /** * Action height override. */ actionHeight?: number, /** * Spacing configuration. */ space?: { /** * Left space. */ left?: number, /** * Right space. */ right?: number, /** * Top space. */ top?: number, /** * Bottom space. */ bottom?: number, /** * Space between icon and text/action. */ icon?: number, /** * Space between text and action. */ text?: number, }, /** * Alignment for label children. */ align?: Label.AlignTypes, } interface ICreators { /** * Background creator callback. */ background?: GeneralCreateGameObjectCallbackType, /** * Text creator callback. */ text?: GeneralCreateGameObjectCallbackType, /** * Icon creator callback. */ icon?: GeneralCreateGameObjectCallbackType, /** * Action creator callback. */ action?: GeneralCreateGameObjectCallbackType, } } /** * Build a label configuration by creating missing children. * @param scene - The Scene to which this object belongs. * @param config - Label build configuration. * @param creators - Game object creators for label parts. * @returns Label configuration for constructing a Label. */ declare function BuildLabelConfig( scene: Phaser.Scene, config?: BuildLabelConfig.IConfig, creators?: BuildLabelConfig.ICreators, ): Label.IConfig