pub mod building;
pub mod calendar;
pub mod campaign_exe;
pub mod economy;
pub mod import;
pub mod persistence;
pub mod pk4;
pub mod runtime;
pub mod smp;
pub mod step;
pub mod summary;
pub mod win;

pub use building::{
    BuildingTypeNamedBindingComparison, BuildingTypeSourceEntry, BuildingTypeSourceFile,
    BuildingTypeSourceKind, BuildingTypeSourceReport, inspect_building_types_dir,
    inspect_building_types_dir_with_bindings,
};
pub use calendar::{CalendarPoint, MONTH_SLOTS_PER_YEAR, PHASE_SLOTS_PER_MONTH, TICKS_PER_PHASE};
pub use campaign_exe::{
    CAMPAIGN_SCENARIO_COUNT, CampaignExeInspectionReport, CampaignPageBand, CampaignScenarioEntry,
    OBSERVED_CAMPAIGN_SCENARIO_NAMES, inspect_campaign_exe_bytes, inspect_campaign_exe_file,
};
pub use economy::{
    CARGO_TYPE_MAGIC, CargoEconomySourceReport, CargoLiveRegistryEntry, CargoNameToken,
    CargoRegistrySourceKind, CargoSelectorEntry, CargoSelectorReport, CargoSkinDescriptorEntry,
    CargoSkinInspectionReport, CargoTypeEntry, CargoTypeInspectionReport,
    NAMED_CARGO_PRICE_DESCRIPTOR_ROW_COUNT, NAMED_CARGO_PRODUCTION_DESCRIPTOR_ROW_COUNT,
    inspect_cargo_economy_sources, inspect_cargo_economy_sources_with_bindings,
    inspect_cargo_skin_pk4, inspect_cargo_types_dir,
};
pub use import::{
    OVERLAY_IMPORT_DOCUMENT_FORMAT_VERSION, RuntimeOverlayImportDocument,
    RuntimeOverlayImportDocumentSource, RuntimeSaveSliceDocument, RuntimeSaveSliceDocumentSource,
    RuntimeStateDumpDocument, RuntimeStateDumpSource, RuntimeStateImport,
    SAVE_SLICE_DOCUMENT_FORMAT_VERSION, STATE_DUMP_FORMAT_VERSION,
    load_runtime_overlay_import_document, load_runtime_save_slice_document,
    load_runtime_state_import, project_save_slice_overlay_to_runtime_state_import,
    project_save_slice_to_runtime_state_import, save_runtime_overlay_import_document,
    save_runtime_save_slice_document, validate_runtime_overlay_import_document,
    validate_runtime_save_slice_document, validate_runtime_state_dump_document,
};
pub use persistence::{
    RuntimeSnapshotDocument, RuntimeSnapshotSource, SNAPSHOT_FORMAT_VERSION,
    load_runtime_snapshot_document, save_runtime_snapshot_document,
    validate_runtime_snapshot_document,
};
pub use pk4::{
    PK4_DIRECTORY_ENTRY_STRIDE, PK4_MAGIC, Pk4Entry, Pk4ExtractionReport, Pk4InspectionReport,
    extract_pk4_entry_bytes, extract_pk4_entry_file, inspect_pk4_bytes, inspect_pk4_file,
};
pub use runtime::{
    RUNTIME_COMPANY_STAT_FAMILY_CONTROL_TRANSFER, RUNTIME_COMPANY_STAT_FAMILY_SPECIAL_232A,
    RUNTIME_COMPANY_STAT_SLOT_BOOK_VALUE_PER_SHARE, RUNTIME_COMPANY_STAT_SLOT_COUNT,
    RUNTIME_COMPANY_STAT_SLOT_CREDIT_RATING, RUNTIME_COMPANY_STAT_SLOT_CURRENT_CASH,
    RUNTIME_COMPANY_YEAR_STAT_FAMILY_SPAN, RUNTIME_WORLD_ISSUE_CREDIT_MARKET,
    RUNTIME_WORLD_ISSUE_INVESTOR_CONFIDENCE, RUNTIME_WORLD_ISSUE_MANAGEMENT_ATTITUDE,
    RUNTIME_WORLD_ISSUE_PRIME_RATE, RuntimeAnnualFinanceNewsEvent, RuntimeCargoCatalogEntry,
    RuntimeCargoClass, RuntimeCargoPriceTarget, RuntimeCargoProductionTarget,
    RuntimeChairmanMetric, RuntimeChairmanProfile, RuntimeChairmanTarget, RuntimeCompany,
    RuntimeCompanyAnnualBondPolicyState, RuntimeCompanyAnnualCreditorPressureState,
    RuntimeCompanyAnnualDeepDistressState, RuntimeCompanyAnnualDividendPolicyState,
    RuntimeCompanyAnnualFinancePolicyAction, RuntimeCompanyAnnualFinancePolicyState,
    RuntimeCompanyAnnualFinanceState, RuntimeCompanyAnnualStockIssueState,
    RuntimeCompanyAnnualStockRepurchaseState, RuntimeCompanyBondSlot,
    RuntimeCompanyConditionTestScope, RuntimeCompanyControllerKind, RuntimeCompanyMarketMetric,
    RuntimeCompanyMarketState, RuntimeCompanyMetric, RuntimeCompanyPeriodicServiceState,
    RuntimeCompanyPeriodicSideLatchState, RuntimeCompanyStatBandCandidate,
    RuntimeCompanyStatSelector, RuntimeCompanyTarget, RuntimeCompanyTerritoryAccess,
    RuntimeCompanyTerritoryTrackPieceCount, RuntimeCondition, RuntimeConditionComparator,
    RuntimeEffect, RuntimeEventRecord, RuntimeEventRecordTemplate, RuntimeLocomotiveCatalogEntry,
    RuntimePackedEventCollectionSummary, RuntimePackedEventCompactControlSummary,
    RuntimePackedEventConditionRowSummary, RuntimePackedEventGroupedEffectRowSummary,
    RuntimePackedEventNegativeSentinelScopeSummary, RuntimePackedEventRecordSummary,
    RuntimePackedEventTextBandSummary, RuntimePlayer, RuntimePlayerConditionTestScope,
    RuntimePlayerTarget, RuntimeSaveProfileState, RuntimeServiceState, RuntimeState,
    RuntimeTerritory, RuntimeTerritoryMetric, RuntimeTerritoryTarget, RuntimeTrackMetric,
    RuntimeTrackPieceCounts, RuntimeTrain, RuntimeWorldFinanceNeighborhoodCandidate,
    RuntimeWorldIssueState, RuntimeWorldRestoreState, RuntimeWorldRoutePreferenceOverrideState,
    runtime_annual_bond_principal_flow_relation_label,
    runtime_annual_finance_news_family_candidate_label,
    runtime_begin_company_periodic_route_preference_override,
    runtime_company_annual_bond_policy_state, runtime_company_annual_creditor_pressure_state,
    runtime_company_annual_deep_distress_state, runtime_company_annual_dividend_policy_state,
    runtime_company_annual_finance_policy_action_label,
    runtime_company_annual_finance_policy_state, runtime_company_annual_finance_state,
    runtime_company_annual_stock_issue_state, runtime_company_annual_stock_repurchase_state,
    runtime_company_assigned_share_pool, runtime_company_average_live_bond_coupon,
    runtime_company_book_value_per_share, runtime_company_credit_rating,
    runtime_company_investor_confidence, runtime_company_management_attitude,
    runtime_company_market_value, runtime_company_periodic_service_state,
    runtime_company_prime_rate, runtime_company_recent_per_share_subscore,
    runtime_company_stat_value, runtime_company_stat_value_f64,
    runtime_company_unassigned_share_pool, runtime_end_company_periodic_route_preference_override,
    runtime_world_annual_finance_mode_active, runtime_world_bankruptcy_allowed,
    runtime_world_bond_issue_and_repayment_allowed, runtime_world_building_density_growth_setting,
    runtime_world_dividend_adjustment_allowed, runtime_world_issue_opinion_multiplier,
    runtime_world_issue_opinion_term_sum_raw, runtime_world_issue_state,
    runtime_world_prime_rate_baseline, runtime_world_stock_issue_and_buyback_allowed,
};
pub use smp::{
    SMP_FOUR_SIDECAR_BYTE_PLANES_MIN_BUNDLE_VERSION, SmpAlignedRuntimeRuleBandLane,
    SmpAlignedRuntimeRuleBandProbe, SmpAsciiPreview, SmpClassicPackedProfileBlock,
    SmpClassicRehydrateProfileProbe, SmpContainerProfile, SmpEarlyContentProbe,
    SmpHeaderVariantProbe, SmpInfrastructureAssetTraceReport, SmpInspectionReport, SmpKnownTagHit,
    SmpLoadedCandidateAvailabilityTable, SmpLoadedCargoCatalog, SmpLoadedCargoCatalogEntry,
    SmpLoadedChairmanProfileEntry, SmpLoadedChairmanProfileTable, SmpLoadedCompanyRoster,
    SmpLoadedCompanyRosterEntry, SmpLoadedEventRuntimeCollectionSummary,
    SmpLoadedNamedLocomotiveAvailabilityTable, SmpLoadedPackedEventCompactControlSummary,
    SmpLoadedPackedEventConditionRowSummary, SmpLoadedPackedEventGroupedEffectRowSummary,
    SmpLoadedPackedEventNegativeSentinelScopeSummary, SmpLoadedPackedEventRecordSummary,
    SmpLoadedPackedEventTextBandSummary, SmpLoadedPlacedStructureCollection,
    SmpLoadedPlacedStructureDynamicSideBufferSummary, SmpLoadedPlacedStructureEntry,
    SmpLoadedProfile, SmpLoadedRegionCollection, SmpLoadedRegionEntry,
    SmpLoadedRegionFixedRowRunSummary, SmpLoadedRegionProfileCollection,
    SmpLoadedRegionProfileEntry, SmpLoadedSaveSlice, SmpLoadedSpecialConditionsTable,
    SmpLoadedWorldEconomicTuningState, SmpLoadedWorldFinanceNeighborhoodState,
    SmpLoadedWorldIssue37State, SmpLocomotivePolicyFieldObservation,
    SmpLocomotivePolicyFloatAlignmentCandidate, SmpLocomotivePolicyNeighborhoodProbe,
    SmpMapTitleHintAdjacentPair, SmpMapTitleHintMapReference, SmpMapTitleHintProbe,
    SmpMapTitleHintTitleHit, SmpPackedProfileWordLane, SmpPeriodicCompanyServiceTraceReport,
    SmpPostSpecialConditionsScalarLane, SmpPostSpecialConditionsScalarProbe,
    SmpPostTextFieldNeighborhoodProbe, SmpPostTextFloatAlignmentCandidate,
    SmpPostTextGroundedFieldObservation, SmpPreRecipeScalarPlateauLane,
    SmpPreRecipeScalarPlateauProbe, SmpPreamble, SmpPreambleWord, SmpRecipeBookLineSummary,
    SmpRecipeBookSummaryBook, SmpRecipeBookSummaryProbe, SmpRegionServiceTraceReport,
    SmpRt3105PackedProfileBlock, SmpRt3105PackedProfileProbe, SmpRt3105PostSpanBridgeProbe,
    SmpRt3105SaveBridgePayloadProbe, SmpRt3105SaveNameTableEntry, SmpRt3105SaveNameTableProbe,
    SmpRuntimeAnchorCycleBlock, SmpRuntimePostSpanHeaderCandidate, SmpRuntimePostSpanProbe,
    SmpRuntimeTrailerBlock, SmpSaveAnchorRunBlock, SmpSaveBootstrapBlock,
    SmpSaveChairmanRecordAnalysisEntry, SmpSaveCompanyChairmanAnalysisReport,
    SmpSaveCompanyRecordAnalysisEntry, SmpSaveDwordCandidate, SmpSaveLoadCandidateTableSummary,
    SmpSaveLoadSummary, SmpSavePlacedStructureDynamicSideBufferAlignmentProbe,
    SmpSavePlacedStructureDynamicSideBufferNamePairSummary,
    SmpSavePlacedStructureDynamicSideBufferPrefixPatternSummary,
    SmpSavePlacedStructureDynamicSideBufferProbe, SmpSaveRegionFixedRowRunComparisonReport,
    SmpSaveRegionQueuedNoticeRecordProbe, SmpSaveScalarCandidate,
    SmpSaveTaggedCollectionHeaderProbe, SmpSaveWorldEconomicTuningProbe,
    SmpSaveWorldFinanceNeighborhoodProbe, SmpSaveWorldIssue37Probe,
    SmpSaveWorldSelectionRoleAnalysis, SmpSaveWorldSelectionRoleAnalysisEntry,
    SmpSecondaryVariantProbe, SmpServiceTraceBranchStatus, SmpSharedHeader,
    SmpSpecialConditionEntry, SmpSpecialConditionsProbe,
    compare_save_region_fixed_row_run_candidates, inspect_map_title_hint_bytes,
    inspect_map_title_hint_file, inspect_save_company_and_chairman_analysis_bytes,
    inspect_save_company_and_chairman_analysis_file, inspect_save_infrastructure_asset_trace_file,
    inspect_save_periodic_company_service_trace_file,
    inspect_save_placed_structure_dynamic_side_buffer_file,
    inspect_save_region_queued_notice_records_file, inspect_save_region_service_trace_file,
    inspect_smp_bytes, inspect_smp_file, inspect_unclassified_save_collection_headers_file,
    load_save_slice_file, load_save_slice_from_report,
};
pub use step::{BoundaryEvent, ServiceEvent, StepCommand, StepResult, execute_step_command};
pub use summary::RuntimeSummary;
pub use win::{
    WinAnonymousSelectorRecord, WinHeaderWord, WinInspectionReport, WinReferenceDeltaFrequency,
    WinResourceRecordSample, WinResourceReference, WinResourceSelectorRecord, inspect_win_bytes,
    inspect_win_file,
};
