import Sizer from '../../sizer/Sizer'; export default ColorPicker; declare namespace ColorPicker { /** * Callback invoked when picker value changes. */ type ValueChangeCallbackType = ( /** * New color value. */ newValue: number, /** * Previous color value. */ oldValue: number, /** * Color picker instance. */ colorPicker: ColorPicker ) => void; /** * Configuration options for creating a color picker. */ interface IConfig extends Sizer.IConfig { /** * Optional background game object. */ background?: Phaser.GameObjects.GameObject, hPalette?: { /** * Position of hue palette. */ position?: 0 | 1 | 2 | 3 | 'bottom' | 'left' | 'top' | 'right', /** * Size of hue palette. */ size?: number, /** * Width of hue palette. */ width?: number, /** * Height of hue palette. */ height?: number, }, svPalette?: { /** * Width of saturation-value palette. */ width?: number, /** * Height of saturation-value palette. */ height?: number, }, /** * Callback fired when value changes. */ valuechangeCallback: ValueChangeCallbackType, /** * Scope used when invoking value change callback. */ valuechangeCallbackScope?: Object, /** * Initial color value. */ value?: number, } } /** * UI color picker with hue and saturation-value palettes. */ declare class ColorPicker extends Sizer { /** * Create a color picker. * * @param scene - Scene that owns this component. * @param config - Optional color picker configuration. */ constructor( scene: Phaser.Scene, config?: ColorPicker.IConfig ); /** * Set numeric color value. * * @param value - Color value to assign. * @returns This component instance. */ setValue(value: number): this; /** * Current numeric color value. */ value: number; /** * Set numeric color value. * * @param color - Color value to assign. * @returns This component instance. */ setColor(color: number): this; /** * Current numeric color value. */ color: number; }