import { type JournalEvent } from "../../JournalEvent.js";
/**
 * Written on basic or detailed discovery scan of a star, planet or moon.
 *
 * This is also generated when scanning a navigation beacon in a populated system, to record info
 * about all the bodies in the system
 */
export interface Scan extends JournalEvent<"Scan"> {
    ScanType?: string;
    StarSystem?: string;
    SystemAddress?: number;
    /** Name of body. */
    BodyName: string;
    BodyID?: number;
    DistanceFromArrivalLS: number;
    /** Stellar classification. */
    StarType?: string;
    /** Star's heat classification (0-9). */
    Subclass?: number;
    /** Mass as multiple of Sol's mass. */
    StellarMass?: number;
    Radius?: number;
    AbsoluteMagnitude?: number;
    /** Rotation period in seconds. */
    RotationPeriod?: number;
    SurfaceTemperature?: number;
    Luminosity?: string;
    /** Age in millions of years. */
    Age_MY?: number;
    Rings?: Array<{
        InnerRad: number;
        MassMT: number;
        Name: string;
        OuterRad: number;
        RingClass: string;
    }>;
    WasDiscovered?: boolean;
    WasMapped?: boolean;
    /** Array of BodyType:BodyID pairs. */
    Parents?: Array<{
        Null?: number;
        Planet?: number;
        Ring?: number;
        Star?: number;
    }>;
    /** If planet/moon is tidally locked. */
    TidalLock?: boolean;
    /** Terraform state of planet/moon. */
    TerraformState?: string;
    PlanetClass?: string;
    Atmosphere?: string;
    AtmosphereType?: string;
    AtmosphereComposition?: Array<{
        Name: string;
        Percent: number;
    }>;
    Volcanism?: string;
    SurfaceGravity?: number;
    SurfacePressure?: number;
    Landable?: boolean;
    Materials?: Array<{
        Name: string;
        Name_Localised?: string;
        Percent: number;
    }>;
    Composition?: {
        Ice: number;
        Metal: number;
        Rock: number;
    };
    ReserveLevel?: string;
    /** Axial tilt if rotating. */
    AxialTilt?: number;
    SemiMajorAxis?: number;
    Eccentricity?: number;
    OrbitalInclination?: number;
    Periapsis?: number;
    OrbitalPeriod?: number;
    MassEM?: number;
    AscendingNode?: number;
    MeanAnomaly?: number;
}
