import { CouponType } from '../types/couponType'; import { Tenant } from '../types/tenant'; import { UserCategory } from '../types/userCategory'; import { UserTags } from '../types/userTags'; import { ProductTypes } from '../types/productTypes'; import { MediaConfiguration } from '../storage/interfaces/MediaConfiguration'; import { PoliticaBetCategory } from '../types/politicaBetCategory'; export declare enum PoliticaBetTags { Brazil = "Brazil", USA = "USA", Europe = "Europe", Asia = "Asia", LatinAmerica = "LatinAmerica", MiddleEast = "MiddleEast", Africa = "Africa", Elections = "Elections", Government = "Government", InternationalRelations = "InternationalRelations", Legislation = "Legislation", Football = "Football", Basketball = "Basketball", Tennis = "Tennis", Fighting = "Fighting", Olympics = "Olympics", Bitcoin = "Bitcoin", Ethereum = "Ethereum", Altcoins = "Altcoins", DeFi = "DeFi", NFT = "NFT", Movies = "Movies", Music = "Music", TVShows = "TVShows", Awards = "Awards", Celebrities = "Celebrities", StockCategory = "StockCategory", Economy = "Economy", Companies = "Companies", Startups = "Startups", Technology = "Technology", Space = "Space", Medicine = "Medicine", Climate = "Climate", Temperature = "Temperature", Precipitation = "Precipitation", NaturalDisasters = "NaturalDisasters", Gaming = "Gaming", Streaming = "Streaming", SocialMedia = "SocialMedia" } export declare const POLITICABET_POLITICS_TAGS: PoliticaBetTags[]; export declare const POLITICABET_SPORTS_TAGS: PoliticaBetTags[]; export declare const POLITICABET_CRYPTO_TAGS: PoliticaBetTags[]; export declare const POLITICABET_POPCULTURE_TAGS: PoliticaBetTags[]; export declare const POLITICABET_BUSINESS_TAGS: PoliticaBetTags[]; export declare const POLITICABET_SCIENCE_TAGS: PoliticaBetTags[]; export declare const POLITICABET_WEATHER_TAGS: PoliticaBetTags[]; export declare const POLITICABET_ENTERTAINMENT_TAGS: PoliticaBetTags[]; export interface CategoryConfiguration { allowedTags: UserTags[] | PoliticaBetTags[]; allowedProducts: ProductTypes[]; } export interface RatingCriteria { criteriaOptions: string[]; minCriteriaCount: number; maxCriteriaCount: number; } export interface TenantData { TENANT: Tenant; BACKEND_API_VERSION: string; SITE_NAME: string; SITE_URL: string; SITE_WHATSAPP_SUPPORT: string; SITE_WHATSAPP_BOT: string; IOS_APP_DOWNLOAD_LINK: string; ANDROID_APP_DOWNLOAD_LINK: string; WHATSAPP_BOT_NUMBER_ID: string; WHATSAPP_TOKEN: string; WHATSAPP_API_URL: string; WHATSAPP_API_VERSION: string; SITE_DESCRIPTION: string; KEYWORDS: string[]; SOCIAL_X: string; SOCIAL_YOUTUBE: string; SOCIAL_INSTAGRAM: string; SOCIAL_FACEBOOK: string; USER_CATEGORIES_CONFIG: Partial>; COUPONS_TYPE_ALLOWED_TO_BE_CREATED_BY_SELLER: CouponType[]; COUPONS_TYPE_ALLOWED_TO_BE_CREATED_BY_ADMIN: CouponType[]; EMAIL_HOST: string; EMAIL_PORT: string; EMAIL_USER: string; EMAIL_PASS: string; AUTH_FACEBOOK_APP_ID: string; AUTH_GOOGLE_ID: string; AUTH_GOOGLE_SECRET: string; GOOGLE_ANALYTICS_MEASUREMENT_ID: string; GOOGLE_VERIFICATION: string; MEDIA_CONFIG: MediaConfiguration; RATING_CRITERIA?: RatingCriteria; } export declare class TenantDataService { private static tenantDataMap; static getTenantData(tenant: Tenant): TenantData; static getCategoriesForTenant(tenant: Tenant): (UserCategory | PoliticaBetCategory)[]; static getCategoryConfig(tenant: Tenant, category: UserCategory | PoliticaBetCategory): CategoryConfiguration | undefined; static isTagAllowedForCategory(tenant: Tenant, category: UserCategory | PoliticaBetCategory, tag: UserTags | PoliticaBetTags): boolean; static isProductAllowedForCategory(tenant: Tenant, category: UserCategory | PoliticaBetCategory, product: ProductTypes): boolean; static getTagsForCategory(tenant: Tenant, category: UserCategory | PoliticaBetCategory): (UserTags | PoliticaBetTags)[]; static getProductsForCategory(tenant: Tenant, category: UserCategory | PoliticaBetCategory): ProductTypes[]; static getAllProductsForTenant(tenant: Tenant): ProductTypes[]; static getAllTagsForTenant(tenant: Tenant): (UserTags | PoliticaBetTags)[]; static getPoliticaBetCategories(): PoliticaBetCategory[]; static isPoliticaBetCategory(category: string): category is PoliticaBetCategory; static getPoliticaBetTagsForCategory(category: PoliticaBetCategory): PoliticaBetTags[]; static getAllPoliticaBetTags(): PoliticaBetTags[]; static getCategoriesForTag(tag: PoliticaBetTags): PoliticaBetCategory[]; static getRatingCriteria(tenant: Tenant): RatingCriteria | null; static getAvailableCriteriaOptions(tenant: Tenant): string[]; static isRatingEnabledForTenant(tenant: Tenant): boolean; static validateRatingCriteria(tenant: Tenant, criteria: Record): { isValid: boolean; errors: string[]; }; }