import * as mat from "transformation-matrix"; import { Muzzle, VirtualMuzzle } from "../../muzzle"; /** * This override MuzzleTransform of muzzle. * Used for MuzzleTransformOverrideMuzzle. */ export interface MuzzleTransOverrider { /** * Set basing muzzle. * * @param baseMuzzle basing muzzle */ basedOn(baseMuzzle: Muzzle): void; /** * Get muzzle transform. */ getMuzzleTransform(): mat.Matrix; } /** * VirtualMuzzle modify only muzzle transform. */ export declare class MuzzleTransformOverrideMuzzle implements VirtualMuzzle { private basedMuzzle; private readonly override; constructor(override: MuzzleTransOverrider); /** * Get muzzle transform. */ getMuzzleTransform(): mat.Matrix; /** * Get enemy transform. */ getEnemyTransform(): mat.Matrix; /** * Set basing muzzle. * * @param baseMuzzle basing muzzle */ basedOn(baseMuzzle: Muzzle): void; private getBasedMuzzle; }