/**
 * Represents an in-game mission
 */
export default class Mission {
    /**
     * @param   {object}             data            The mission data
     * @param   {string}             locale     Locale to use for translations
     */
    constructor(data: object, { locale }?: string);
    /**
     * The mission's description
     * @type {?string}
     */
    description: string | null;
    /**
     * The node where the mission takes place
     * @type {string}
     */
    node: string;
    /**
     * Unlocalized {@link mission#node}
     * @type {string}
     */
    nodeKey: string;
    /**
     * The mission's type
     * @type {string}
     */
    type: string;
    /**
     * The mission's type
     * @type {string}
     */
    typeKey: string;
    /**
     * The factions that the players must fight in the mission
     * @type {string}
     */
    faction: string;
    /**
     * The factions that the players must fight in the mission
     * @type {string}
     */
    factionKey: string;
    /**
     * The mission's reward
     * @type {?Reward}
     */
    reward: Reward | null;
    /**
     * The minimum level of the enemies in the mission
     * @type {number}
     */
    minEnemyLevel: number;
    /**
     * The maximum level of the enemies in the mission
     * @type {number}
     */
    maxEnemyLevel: number;
    /**
     * The number of waves that the players need to complete (undefined if not applicable)
     * @type {?number}
     */
    maxWaveNum: number | null;
    /**
     * The Mission's nightmare boolean
     * @type {boolean}
     */
    nightmare: boolean;
    /**
     * The Mission's archwing requirement
     * @type {boolean}
     */
    archwingRequired: boolean;
    /**
     * The Mission's sharkwing requirement
     * @type {boolean}
     */
    isSharkwing: boolean;
    /**
     * Override for the map on this mission
     * @type {string}
     */
    levelOverride: string;
    /**
     * Enemy specification for the mission
     * @type {string}
     */
    enemySpec: string;
    /**
     * Array of strings denoting extra spawners for a mission
     * @type {string[]}
     */
    advancedSpawners: string[];
    /**
     * Items required to enter the mission
     * @type {string[]}
     */
    requiredItems: string[];
    /**
     * Whether or not the required items are consumed
     * @type {boolean}
     */
    consumeRequiredItems: boolean;
    /**
     * Target for the mission
     * @type {string}
     */
    target: string;
    /**
     * Whether or not leaders are always allowed
     * @type {boolean}
     */
    leadersAlwaysAllowed: boolean;
    /**
     * A tag for the event that this corresponds to
     * @type {string}
     */
    goalTag: string;
    /**
     * Affectors for this mission
     * @type {string[]}
     */
    levelAuras: string[];
    /**
     * Only weapon allowed for the mission
     * @type {string}
     */
    exclusiveWeapon: string;
    /**
     * The Mission's string representation
     * @returns {string} Mission's string representation
     */
    toString(): string;
}
import Reward from './Reward.js';
