import TextArea from '../../textarea/TextArea'; import { GeneralCreateGameObjectCallbackType } from './GeneralCreateGameObjectCallbackType'; import CreateBackground from './CreateBackground'; import CreateText from './CreateText'; export default CreateTextArea; declare namespace CreateTextArea { /** * Input modes for the slider. */ type SliderInputTypes = 0 | 1 | -1 | 'drag' | 'pan' | 'click' | 'none'; /** * Slider position options. */ type SliderPositionTypes = 0 | 1 | 'right' | 'left' interface IConfig { /** * Spacing configuration. */ space?: { /** * Left space. */ left?: number, /** * Right space. */ right?: number, /** * Top space. */ top?: number, /** * Bottom space. */ bottom?: number, /** * Text padding or spacing. */ text?: number | { /** * Left text space. */ left?: number, /** * Right text space. */ right?: number, /** * Top text space. */ top?: number, /** * Bottom text space. */ bottom?: number, }, }, /** * Background configuration. */ background?: CreateBackground.IConfig, /** * Text configuration. */ text?: CreateText.IConfig, /** * Fixed text width. */ textWidth?: number | undefined, /** * Fixed text height. */ textHeight?: number | undefined, /** * True to enable text mask. */ textMask?: boolean, /** * True to keep scrolling enabled even when content fits. */ alwaysScrollable?: boolean, /** * Slider configuration or true to enable default slider. */ slider?: ({ /** * Track background configuration. */ track?: CreateBackground.IConfig, /** * Thumb background configuration. */ thumb?: CreateBackground.IConfig, /** * Slider input mode. */ input?: SliderInputTypes, /** * Slider position. */ position?: SliderPositionTypes, /** * True to hide slider when unscrollable. */ hideUnscrollableSlider?: boolean, /** * True to disable dragging when unscrollable. */ disableUnscrollableDrag?: boolean, /** * True to adapt thumb size to content. */ adaptThumbSize?: boolean, /** * Minimum thumb size. */ minThumbSize?: number, /** * Optional scroll buttons. */ buttons?: { /** * Top button. */ top?: Phaser.GameObjects.GameObject, /** * Bottom button. */ bottom?: Phaser.GameObjects.GameObject, /** * Left button. */ left?: Phaser.GameObjects.GameObject, /** * Right button. */ right?: Phaser.GameObjects.GameObject, /** * Scroll step size. */ step?: number } } | boolean ), /** * Scroller configuration or true to enable default scroller. */ scroller?: ( { /** * Drag threshold. */ threshold?: number, /** * Sliding deceleration, or false to disable. */ slidingDeceleration?: number | false, /** * Back deceleration, or false to disable. */ backDeceleration?: number | false, /** * Drag rate. */ dragRate?: number, } | boolean ), /** * Mouse wheel scroller configuration or true to enable. */ mouseWheelScroller?: ( { /** * True to require focus. */ focus?: boolean, /** * Scroll speed. */ speed?: number, } | boolean ), /** * Clamp child OY within bounds. */ clampChildOY?: boolean, } interface ICreatorsConfig { /** * Background creator callback. */ background?: GeneralCreateGameObjectCallbackType, /** * Text creator callback. */ text?: GeneralCreateGameObjectCallbackType, /** * Track creator callback. */ track?: GeneralCreateGameObjectCallbackType, /** * Thumb creator callback. */ thumb?: GeneralCreateGameObjectCallbackType, } } /** * Create a text area with optional slider and scroller. * @param scene - The Scene to which this object belongs. * @param config - Text area configuration. * @param creators - Game object creators for parts. * @returns The created text area. */ declare function CreateTextArea( scene: Phaser.Scene, config?: CreateTextArea.IConfig, creators?: CreateTextArea.ICreatorsConfig, ): TextArea;