import { OnDestroy } from '@angular/core'; import { Constructor } from './Constructor'; import { BehaviorSubject } from 'rxjs'; /** * An interface for the resulting Playable Mixin Class */ export interface IPlayable extends OnDestroy { playOnStart: boolean; isPlaying: boolean; tickSpeed: number; tick: BehaviorSubject; play(): void; pause(): void; onTick(): void; ngOnInit(): void; ngOnDestroy(): void; } /** * A tick of time */ export interface PlayableTick { diff: number; stamp: number; } /** * The mixin function which will create a Playable class */ export declare function Playable(Base: T): Constructor & T;