import EventEmitter from "node:events";
import { RSSItem } from "rss-feed-emitter";
import WorldState from "warframe-worldstate-parser";

//#region index.d.ts
interface WorldstateEmitterOptions {
  locale?: string;
  features?: string[];
}
interface RssFeedItem {
  url: string;
  items: RSSItem[];
}
interface DebugInfo {
  rss?: RssFeedItem[];
  worldstate?: WorldState;
  twitter?: unknown;
}
declare class WorldstateEmitter extends EventEmitter {
  #private;
  static make({
    locale,
    features
  }?: WorldstateEmitterOptions): Promise<WorldstateEmitter>;
  /**
   * Pull in and instantiate emitters
   * @param options - Configuration options
   */
  constructor({
    locale
  }?: WorldstateEmitterOptions);
  /**
   * Set up internal logging
   * @private
   */
  private setupLogging;
  /**
   * Get current rss feed items
   * @returns RSS feed items
   */
  getRss(): RssFeedItem[] | undefined;
  /**
   * Get a specific worldstate, defaulting to 'pc' for the platform and 'en' for the language
   * @param language - locale/language to fetch
   * @returns Requested worldstate
   */
  getWorldstate(language?: string): WorldState | undefined;
  get debug(): DebugInfo;
  /**
   * Get Twitter data
   * @returns Promised twitter data
   */
  getTwitter(): Promise<unknown>;
  destroy(): void;
}
//#endregion
export { WorldstateEmitter as default };