import { type JournalEvent } from "../../JournalEvent.js";
import type { ConflictFaction } from "../types/ConflictFaction.js";
import type { PowerState } from "../types/PowerState.js";
/**
 * Written when jumping from one star to another.
 */
export interface FSDJump extends JournalEvent<"FSDJump"> {
    /** Name of destination star system. */
    StarSystem: string;
    SystemAddress?: number;
    /** Star position as array (x, y, z) in light years. */
    StarPos: [number, number, number];
    Body?: string;
    BodyID?: number;
    BodyType?: string;
    /** Distance jumped. */
    JumpDist: number;
    FuelUsed: number;
    FuelLevel: number;
    /** Whether FSD boost was used. */
    BoostUsed?: number;
    /** System's controlling faction. */
    SystemFaction?: {
        Name: string;
        FactionState?: string;
    };
    SystemAllegiance: string;
    SystemEconomy: string;
    SystemEconomy_Localised?: string;
    SystemSecondEconomy?: string;
    SystemSecondEconomy_Localised?: string;
    SystemGovernment: string;
    SystemGovernment_Localised?: string;
    SystemSecurity: string;
    SystemSecurity_Localised?: string;
    Population?: number;
    Wanted?: boolean;
    /** Info for the local minor factions. */
    Factions?: Array<{
        Name: string;
        FactionState: string;
        Government: string;
        Influence: number;
        Allegiance: string;
        Happiness?: string;
        Happiness_Localised?: string;
        MyReputation?: number;
        PendingStates?: Array<{
            State: string;
            Trend: number;
        }>;
        RecoveringStates?: Array<{
            State: string;
            Trend: number;
        }>;
        ActiveStates?: Array<{
            State: string;
        }>;
        SquadronFaction?: boolean;
    }>;
    /** Info about local conflicts (if any) */
    Conflicts?: Array<{
        WarType: string;
        Status: string;
        Faction1: ConflictFaction;
        Faction2: ConflictFaction;
    }>;
    /** If starting in a system affected by the thargoid war. */
    ThargoidWar?: {
        CurrentState: string;
        NextStateSuccess: string;
        NextStateFailure: string;
        SuccessStateReached: boolean;
        WarProgress: number;
        RemainingPorts: number;
    };
    /** Names of any powers contesting the system, or the name of the controlling power. */
    Powers?: string[];
    /** The system's powerplay state. */
    PowerplayState?: PowerState;
    Taxi?: boolean;
    Multicrew?: boolean;
}
