import CustomShapes from '../customshapes/CustomShapes'; export default CustomProgress; declare namespace CustomProgress { type Arc = CustomShapes.Arc; type Circle = CustomShapes.Circle; type Curve = CustomShapes.Curve; type Ellipse = CustomShapes.Ellipse; type Line = CustomShapes.Line; type Lines = CustomShapes.Lines; type Rectangle = CustomShapes.Rectangle; type RoundRectangle = CustomShapes.RoundRectangle; type Triangle = CustomShapes.Triangle; type ShapeTypes = Arc | Circle | Curve | Ellipse | Line | Lines | Rectangle | RoundRectangle | Triangle; /** * Callback fired when value changes. * @param newValue - New value. * @param oldValue - Previous value. * @param customProgress - Custom progress instance. */ type ValueChangeCallbackType = ( newValue: number, oldValue: number, customProgress: CustomProgress ) => void; interface IConfig extends Omit { /** * Initial value. */ value?: number, /** * Update callback. */ update?: (this: CustomProgress) => void; /** * Ease configuration for value changes. */ easeValue?: { /** * Ease duration. */ duration?: number, /** * Ease function name. */ ease?: string }, /** * Value change callback. */ valuechangeCallback?: ValueChangeCallbackType, } namespace Events { /** * Fired when value changes. * @param newValue - New value. * @param oldValue - Previous value. * @param customProgress - Custom progress instance. */ type ValueChangeCallbackType = ( newValue: number, oldValue: number, customProgress: CustomProgress ) => void; } } /** * Custom shapes progress indicator with easing support. */ declare class CustomProgress extends CustomShapes { /** * Create a custom progress. * @param scene - The Scene to which this object belongs. * @param x - The x position. * @param y - The y position. * @param width - The width. * @param height - The height. * @param config - Configuration options. */ constructor( scene: Phaser.Scene, x?: number, y?: number, width?: number, height?: number, config?: CustomProgress.IConfig ); /** * Create a custom progress from config. * @param scene - The Scene to which this object belongs. * @param config - Configuration options. */ constructor( scene: Phaser.Scene, config?: CustomProgress.IConfig ); /** * Center x. */ readonly centerX: number; /** * Center y. */ readonly centerY: number; /** * Radius value. */ readonly radius: number; /** * Current value. */ value: number; /** * Get value in a range. * @param min - Min value. * @param max - Max value. * @returns Value. */ getValue(min?: number, max?: number): number; /** * Set value in a range. * @param value - Target value. * @param min - Min value. * @param max - Max value. * @returns This instance. */ setValue(value?: number, min?: number, max?: number): this; /** * Add value in a range. * @param inc - Increment value. * @param min - Min value. * @param max - Max value. * @returns This instance. */ addValue(inc?: number, min?: number, max?: number): this; /** * Ease value to a target. * @param value - Target value. * @param min - Min value. * @param max - Max value. * @returns This instance. */ easeValueTo(value?: number, min?: number, max?: number): this; /** * Stop value easing. * @returns This instance. */ stopEaseValue(): this; /** * Set ease duration. * @param duration - Duration in ms. * @returns This instance. */ setEaseValueDuration(duration: number): this; /** * Set ease function. * @param ease - Ease function name. * @returns This instance. */ setEaseValueFunction(ease: string): this; }