export default BaseClock; declare namespace BaseClock { /** * Configuration options for creating a BaseClock. */ interface IConfig { /** * Time scale factor. */ timeScale?: number } namespace Events { /** * Update callback signature. */ type UpdateCallbackType = (now: number, delta: number) => void; } } /** * Base clock for time tracking. */ declare class BaseClock extends Phaser.Events.EventEmitter { /** * Create a BaseClock. * * @param parent - Scene or game object owner. * @param config - Configuration options. */ constructor( parent: Phaser.Scene | Phaser.GameObjects.GameObject, config?: BaseClock.IConfig ); /** * Start the clock. * * @param startAt - Start time value. * @returns This BaseClock instance. */ start(startAt?: number): this; /** * Seek the clock to a time. * * @param time - Time value. * @returns This BaseClock instance. */ seek(time?: number): this; /** * Pause the clock. * * @returns This BaseClock instance. */ pause(): this; /** * Resume the clock. * * @returns This BaseClock instance. */ resume(): this; /** * Stop the clock. * * @returns This BaseClock instance. */ stop(): this; /** * Advance the clock. * * @param delta - Delta time. * @returns This BaseClock instance. */ tick(delta: number): this; /** * Current time value. */ readonly now: number; /** * Whether the clock is running. */ readonly isRunning: boolean; /** * Set time scale factor. * * @param timeScale - Time scale factor. * @returns This BaseClock instance. */ setTimeScale(timeScale: number): this; /** * Current time scale factor. */ timeScale: number; }