import { Resource } from "resourceforkjs";
import { NovaResources } from "../ResourceHolderBase";
import { BaseResource } from "./NovaResourceBase";
import { Particles, ExitType, FireGroup, GuidanceType } from "novadatainterface/WeaponData";
declare type BlindSpots = {
    front: boolean;
    side: boolean;
    back: boolean;
};
declare type Submunition = {
    count: number;
    id: number;
    theta: number;
    limit: number;
    fireAtNearest: boolean;
    subIfExpire: boolean;
};
declare type Jam = {
    infrared: number;
    radar: number;
    ethericWake: number;
    gravametric: number;
};
declare class WeapResource extends BaseResource {
    reload: number;
    duration: number;
    armorDamage: number;
    shieldDamage: number;
    guidanceN: number;
    guidance: GuidanceType;
    speed: number;
    ammoType: number;
    graphic: number | null;
    accuracy: number;
    firesAtFixedAngle: boolean;
    sound: number | null;
    impact: number;
    explosion: number | null;
    explosion128sparks: boolean;
    proxRadius: number;
    blastRadius: number;
    flags: number;
    spinShots: boolean;
    fireGroup: FireGroup;
    startSpinningOnFirstFrame: boolean;
    dontFireAtFastShips: boolean;
    loopSound: boolean;
    passThroughShields: boolean;
    fireSimultaneously: boolean;
    vulnerableToPD: boolean;
    hitsFiringShip: boolean;
    smallCicnSmoke: boolean;
    bigCicnSmoke: boolean;
    persistentCicnSmoke: boolean;
    turretBlindSpots: BlindSpots;
    flak: boolean;
    guidedFlags: number;
    passOverAsteroids: boolean;
    decoyedByAsteroids: boolean;
    confusedByInterference: boolean;
    turnsAwayIfJammed: boolean;
    cantFireWhileIonized: boolean;
    loseLockIfNotAhead: boolean;
    attackParentIfJammed: boolean;
    cicnSmoke: number[] | null;
    decay: number;
    trailParticles: Particles;
    beamLength: number;
    beamWidth: number;
    spinRate: number;
    coronaFalloff: number;
    beamColor: number;
    coronaColor: number;
    lightningDensity: number;
    lightningAmplitude: number;
    proxSafety: number;
    flags2: number;
    spinBeforeProxSafety: boolean;
    spinStopOnLastFrame: boolean;
    proxIgnoreAsteroids: boolean;
    proxHitAll: boolean;
    submunition: Submunition | null;
    showAmmo: boolean;
    fireOnlyIfKeyCarried: boolean;
    npcCantUse: boolean;
    useFiringAnimation: boolean;
    planetType: boolean;
    hideIfNoAmmo: boolean;
    disableOnly: boolean;
    beamUnderShip: boolean;
    fireWhileCloaked: boolean;
    asteroidMiner: boolean;
    ionization: number;
    hitParticles: Particles;
    recoil: number;
    exitTypeN: number;
    exitType: ExitType;
    burstCount: number;
    burstReload: number;
    jam: Jam;
    jamVuln: Array<number>;
    flags3: number;
    oneAmmoPerBurst: boolean;
    translucent: boolean;
    cantFireUntilShotExpires: boolean;
    firesFromClosestToTarget: boolean;
    exclusive: boolean;
    durability: number;
    turnRate: number;
    maxAmmo: number;
    ionizeColor: number;
    count: number;
    constructor(resource: Resource, idSpace: NovaResources);
}
export { WeapResource };
