import { ConfigFilter, ConfigLanguage, ConfigPlatform } from "./enums"; import { GameConfigDto } from "./dtos/game-config"; export type ConfigOptions = { language: ConfigLanguage | `${ConfigLanguage}`; filter?: Array; platform: ConfigPlatform | `${ConfigPlatform}`; data: GameConfigDto; }; export type CreateOptions = Omit & { authToken: string; userId: string; url: string; language?: ConfigLanguage | `${ConfigLanguage}`; platform?: ConfigPlatform | `${ConfigPlatform}`; }, "data">; export type CreateRawOptions = { url: string; filter?: Array; language?: ConfigLanguage | `${ConfigLanguage}`; platform?: ConfigPlatform | `${ConfigPlatform}`; }; export type FetchOptions = CreateOptions; export type FetchRawOptions = Pick; export declare class Config { readonly platform: ConfigPlatform; readonly langauge: ConfigLanguage; readonly filter?: ConfigFilter[]; readonly data: GameConfigDto; constructor({ data, language, platform, filter }: ConfigOptions); /** * Creates a new Config instance by fetching data from the API with authentication. */ static create({ authToken, userId, filter, language, platform, url }: CreateOptions): Promise; /** * Creates a new Config instance by fetching a raw JSON file from a URL. */ static createRaw({ url, filter, language, platform }: CreateRawOptions): Promise; /** * Fetches configuration from the API with authentication. */ static fetch({ authToken, userId, filter, language, platform, url }: FetchOptions): Promise; /** * Fetches a raw config file from a URL and filters its contents. */ static fetchRaw({ url, filter }: FetchRawOptions): Promise; }