import { State } from '../enum/state'; /** * Base interface almost shared by everything (ticker, tween, sequence, ...) * * @export * @interface IControl */ export interface IControl { /** * Time elapsed * @readonly * @type {number} */ readonly elapsed: number; /** * Total duration of the tween * @readonly * @type {number} */ readonly duration: number; /** * Current state of the tween * @readonly * @type {State} */ readonly state: State; /** * Is this tween idle (based on state) * @readonly * @type {boolean} */ readonly isIdle: boolean; /** * Is this tween runs (based on state) * @readonly * @type {boolean} */ readonly isRunning: boolean; /** * Is this tween over (based on state) * @readonly * @type {boolean} */ readonly isFinished: boolean; /** * Is this tween paused (based on state) * @readonly * @type {boolean} */ readonly isPaused: boolean; /** * Start the tween */ start(): void; /** * Method used to pause a tween or a sequence (only work if the tween runs) */ pause(): void; /** * Method used to resume a tween or a sequence (only work if the tween is paused) */ resume(): void; /** * Method used to Stop/Kill a tween or a sequence */ kill(): void; /** * Method used to reinitialize the tweet */ reset(): void; /** * Method used to Skip this tween or sequence and directly finish it * @param {boolean} [finalValue] does the object is let as it is or set to his final values */ skip(finalValue?: boolean): void; }