/**
 * Bungie.Net API
 * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
 *
 * OpenAPI spec version: 2.21.9
 * Contact: support@bungie.com
 *
 * NOTE: This class is auto generated by the bungie-api-ts code generator program.
 * https://github.com/DestinyItemManager/bungie-api-ts
 * Do not edit these files manually.
 */
import { EmailSettings } from '../user/interfaces.js';
export interface CoreSettingsConfiguration {
  readonly environment: string;
  readonly systems: {
    [key: string]: CoreSystem;
  };
  readonly ignoreReasons: CoreSetting[];
  readonly forumCategories: CoreSetting[];
  readonly groupAvatars: CoreSetting[];
  readonly defaultGroupTheme: CoreSetting;
  readonly destinyMembershipTypes: CoreSetting[];
  readonly recruitmentPlatformTags: CoreSetting[];
  readonly recruitmentMiscTags: CoreSetting[];
  readonly recruitmentActivities: CoreSetting[];
  readonly userContentLocales: CoreSetting[];
  readonly systemContentLocales: CoreSetting[];
  readonly clanBannerDecals: CoreSetting[];
  readonly clanBannerDecalColors: CoreSetting[];
  readonly clanBannerGonfalons: CoreSetting[];
  readonly clanBannerGonfalonColors: CoreSetting[];
  readonly clanBannerGonfalonDetails: CoreSetting[];
  readonly clanBannerGonfalonDetailColors: CoreSetting[];
  readonly clanBannerStandards: CoreSetting[];
  readonly destiny2CoreSettings: Destiny2CoreSettings;
  readonly emailSettings: EmailSettings;
  readonly fireteamActivities: CoreSetting[];
}
export interface CoreSystem {
  readonly enabled: boolean;
  readonly parameters: {
    [key: string]: string;
  };
}
export interface CoreSetting {
  readonly identifier: string;
  readonly isDefault: boolean;
  readonly displayName: string;
  readonly summary: string;
  readonly imagePath: string;
  readonly childSettings: CoreSetting[];
}
export interface Destiny2CoreSettings {
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly collectionRootNode: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly badgesRootNode: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly recordsRootNode: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly medalsRootNode: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly metricsRootNode: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly activeTriumphsRootNodeHash: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly activeSealsRootNodeHash: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly legacyTriumphsRootNodeHash: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly legacySealsRootNodeHash: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly medalsRootNodeHash: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly exoticCatalystsRootNodeHash: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly loreRootNodeHash: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly craftingRootNodeHash: number;
  /** Mapped to DestinyGlobalConstantsDefinition in the manifest. */
  readonly globalConstantsHash: number;
  /** Mapped to DestinyLoadoutConstantsDefinition in the manifest. */
  readonly loadoutConstantsHash: number;
  /** Mapped to DestinyGuardianRankConstantsDefinition in the manifest. */
  readonly guardianRankConstantsHash: number;
  /** Mapped to DestinyFireteamFinderConstantsDefinition in the manifest. */
  readonly fireteamFinderConstantsHash: number;
  /** Mapped to DestinyInventoryItemConstantsDefinition in the manifest. */
  readonly inventoryItemConstantsHash: number;
  /** Mapped to DestinyItemFilterDefinition in the manifest. */
  readonly featuredItemsListHash: number;
  /** Mapped to DestinyPlugSetDefinition in the manifest. */
  readonly armorArchetypePlugSetHash: number;
  /** Mapped to DestinyEventCardDefinition in the manifest. */
  readonly seasonalHubEventCardHash: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly guardianRanksRootNodeHash: number;
  /** Mapped to DestinyProgressionDefinition in the manifest. */
  readonly currentRankProgressionHashes: number[];
  /** Mapped to DestinyInventoryItemDefinition in the manifest. */
  readonly insertPlugFreeProtectedPlugItemHashes: number[];
  /** Mapped to DestinySocketTypeDefinition in the manifest. */
  readonly insertPlugFreeBlockedSocketTypeHashes: number[];
  /** Mapped to DestinyFireteamFinderActivityGraphDefinition in the manifest. */
  readonly enabledFireteamFinderActivityGraphHashes: number[];
  readonly undiscoveredCollectibleImage: string;
  readonly ammoTypeHeavyIcon: string;
  readonly ammoTypeSpecialIcon: string;
  readonly ammoTypePrimaryIcon: string;
  /** Mapped to DestinyVendorDefinition in the manifest. */
  readonly currentSeasonalArtifactHash: number;
  /** Mapped to DestinySeasonDefinition in the manifest. */
  readonly currentSeasonHash?: number;
  /** Mapped to DestinySeasonPassDefinition in the manifest. */
  readonly currentSeasonPassHash?: number;
  /** Mapped to DestinyPresentationNodeDefinition in the manifest. */
  readonly seasonalChallengesPresentationNodeHash?: number;
  /** Mapped to DestinySeasonDefinition in the manifest. */
  readonly futureSeasonHashes: number[];
  /** Mapped to DestinySeasonDefinition in the manifest. */
  readonly pastSeasonHashes: number[];
}
export interface GlobalAlert {
  readonly AlertKey: string;
  readonly AlertHtml: string;
  readonly AlertTimestamp: string;
  readonly AlertLink: string;
  readonly AlertLevel: GlobalAlertLevel;
  readonly AlertType: GlobalAlertType;
  readonly StreamInfo: StreamInfo;
}
export declare const enum GlobalAlertLevel {
  Unknown = 0,
  Blue = 1,
  Yellow = 2,
  Red = 3,
}
export declare const enum GlobalAlertType {
  GlobalAlert = 0,
  StreamingAlert = 1,
}
export interface StreamInfo {
  readonly ChannelName: string;
}
