import TickTask from '../../utils/componentbase/TickTask'; export default ShakePosition; declare namespace ShakePosition { /** * Shake mode identifiers. */ type ModeType = 0 | 1 | 'effect' | 'behavior'; /** * Magnitude mode identifiers. */ type MagnitudeModeType = 0 | 1 | 'constant' | 'decay'; /** * Axis mode identifiers. */ type AixsModeType = 0 | 1 | 2 | 'both' | 'h&v' | 'horizontal' | 'h' | 'vertical' | 'v'; /** * ShakePosition configuration. */ interface IConfig { /** * Shake mode. */ mode?: ModeType, /** * Duration in ms. */ duration?: number, /** * Shake magnitude. */ magnitude?: number, /** * Magnitude mode. */ magnitudeMode?: MagnitudeModeType, /** * Axis mode. */ axis?: AixsModeType, } namespace Events { /** * Complete callback. */ type CompleteCallbackType = ( /** * Target game object. */ gameObject: Phaser.GameObjects.GameObject, /** * ShakePosition component. */ shake: ShakePosition ) => void; } } /** * Shake position effect component. */ declare class ShakePosition extends TickTask { /** * Create a ShakePosition component. * @param gameObject - Target game object. * @param config - ShakePosition configuration. */ constructor( gameObject: Phaser.GameObjects.GameObject, config?: ShakePosition.IConfig ); /** * Enable or disable the component. * @param enable - True to enable. * @returns This instance. */ setEnable(enable?: boolean): this; /** * True if enabled. */ enable: boolean; /** * Trigger a shake. * @param duration - Duration in ms. * @param magnitude - Shake magnitude. * @returns This instance. */ shake( duration?: number, magnitude?: number ): this; /** * Trigger a shake with config. * @param config - Shake configuration. * @returns This instance. */ shake(config: { /** * Duration in ms. */ duration?: number, /** * Shake magnitude. */ magnitude?: number, }): this; /** * Set shake mode. * @param mode - Mode identifier. * @returns This instance. */ setMode(mode: ShakePosition.ModeType): this; /** * Current mode value. */ mode: number; /** * Set duration. * @param duration - Duration in ms. * @returns This instance. */ setDuration(duration: number): this; /** * Duration in ms. */ duration: number; /** * Set magnitude. * @param magnitude - Magnitude value. * @returns This instance. */ setMagnitude(magnitude: number): this; /** * Magnitude value. */ magnitude: number; /** * Set magnitude mode. * @param magnitudeMode - Magnitude mode. * @returns This instance. */ setMagnitudeMode(magnitudeMode: ShakePosition.MagnitudeModeType): this; /** * Magnitude mode value. */ magnitudeMode: number; /** * Set axis mode. * @param axisMode - Axis mode. * @returns This instance. */ setAxisMode(axisMode: ShakePosition.AixsModeType): this; /** * Axis mode value. */ axisMode: number; }