import { BaseCategory, DataExchangeSetting, UserDecision } from './interfaces';
import { BaseCategoryData, CategoryData, CcpaData, Data, DefaultData, ServiceData, TcfData } from './Data/interfaces';
import { BaseService, Category, CategoryBasic, Maybe, Service } from './interfaces/interfaces';
import { CONSENT_STATUS } from './enums';
import { CategoryLabels, Labels, ServiceLabels } from './Labels/interfaces';
import { CcpaUI, DefaultUI, TcfUI, UI } from './UI/interfaces';
import { CoreJsonResponse, DpsJsonResponse, LegacyHashService, LegacyService, LegacySettings, Translations } from '../Api/interfaces';
import { DataTransferSettings } from '../../modules/helpers';
import { UI_LAYER, UI_VARIANT } from '../../interfaces';
import CcpaLabels from './Labels/CcpaLabels';
import Core from './Core';
import DefaultLabels from './Labels/DefaultLabels';
import TcfLabels from './Labels/TcfLabels';
declare class SettingsV2 {
    aggregatedServices: LegacyHashService[];
    allLegacyServicesHaveName: boolean;
    isVariantLoaded: boolean;
    isAggregatorLoaded: boolean;
    language: string;
    translations: Maybe<Translations>;
    private static instance;
    private botInstance;
    private locationInstance;
    private rulesetInstance;
    private apiInstance;
    private _core;
    private _coreJson;
    private _data;
    private _dpsJson;
    private _labels;
    private _legacySettings;
    private _ui;
    private controllerIdInstance;
    private acceptAllImplicitlyOnInit;
    private denyAllExplicitlyOnInit;
    private constructor();
    static getInstance(): SettingsV2;
    static resetInstance(): void;
    get core(): Maybe<Core>;
    set core(value: Maybe<Core>);
    get coreJson(): Maybe<CoreJsonResponse>;
    set coreJson(value: Maybe<CoreJsonResponse>);
    get data(): Maybe<Data>;
    set data(value: Maybe<Data>);
    get dpsJson(): Maybe<DpsJsonResponse>;
    set dpsJson(value: Maybe<DpsJsonResponse>);
    get labels(): Maybe<Labels>;
    set labels(value: Maybe<Labels>);
    get legacySettings(): Maybe<LegacySettings>;
    set legacySettings(value: Maybe<LegacySettings>);
    get ui(): Maybe<UI>;
    set ui(value: Maybe<UI>);
    init(coreJson: CoreJsonResponse, dpsJson: DpsJsonResponse, language: string): Promise<void>;
    initData(variant: UI_VARIANT | null, aggregatedServices?: LegacyHashService[], shouldInitTcf?: boolean, isEuMode?: boolean, excludeAcceptAllVendors?: number[], isExplicitConsented?: boolean, enableDeprecatedV1ConsentSaving?: boolean): Promise<void>;
    checkIfServiceNameExists(services: LegacyService[]): boolean;
    initLabels(variant: UI_VARIANT | null, translations: Translations | null, aggregatedServices?: LegacyHashService[]): void;
    initUI(layer: UI_LAYER, variant: UI_VARIANT | null): Promise<void>;
    getCcpaData(): Maybe<CcpaData>;
    getDefaultData(): Maybe<DefaultData>;
    getTcfData(): Maybe<TcfData>;
    getCcpaLabels(): Maybe<CcpaLabels>;
    getDefaultLabels(): Maybe<DefaultLabels>;
    getTcfLabels(): Maybe<TcfLabels>;
    getCcpaUI(): Maybe<CcpaUI>;
    getDefaultUI(): Maybe<DefaultUI>;
    getTcfUI(): Maybe<TcfUI>;
    getDataExchangeSettings(): DataExchangeSetting[];
    getCategoriesData(): CategoryData[];
    getCategoriesBaseData(): BaseCategoryData[];
    getCategoriesLabels(): CategoryLabels[];
    getCategoriesDataAndLabels(): Category[];
    getCategoriesBasic(): CategoryBasic[];
    getCategoriesBaseInfo(): BaseCategory[];
    getCategoriesFullInfo(variant: UI_VARIANT | null, translations: Translations | null): Promise<Category[]>;
    getDataTransferSettings(version?: string): Maybe<DataTransferSettings>;
    getEssentialCategories(): Category[] | CategoryBasic[];
    getEssentialCategoriesData(): CategoryData[];
    getNonEssentialCategories(): Category[] | CategoryBasic[];
    getNonEssentialCategoriesData(): CategoryData[];
    getGoogleConsentMode(): boolean;
    getServicesLabels(): ServiceLabels[];
    getServicesData(): ServiceData[];
    getServicesDataAndLabels(): Service[];
    getServicesBaseInfo(): BaseService[];
    getServicesFullInfo(variant: UI_VARIANT | null, translations: Translations | null): Promise<Service[]>;
    getServicesFromCategories<T extends {
        services: U[];
    }, U>(categories: T[]): U[];
    getServicesWithConsent(): Service[];
    areAllServicesAccepted(): boolean;
    areAllVendorsAndPurposesAccepted(): boolean;
    extendServices(variant: UI_VARIANT | null, translations: Translations | null): Promise<void>;
    isCcpaEnabled(): boolean;
    isCcpaAvailable(): Promise<boolean>;
    isCrossDomainEnabled(): boolean;
    isTcfEnabled(): boolean;
    isTcfAvailable(): boolean;
    isTagLoggerActive(): boolean;
    mergeServicesIntoExistingCategories(updatedServices: Service[]): Category[];
    mergeServicesDataIntoExistingCategories(updatedServices: ServiceData[]): CategoryData[];
    setCategories(categories: CategoryData[]): void;
    setControllerId(value: string): void;
    updateServicesLanguage(language: string): void;
    shouldDenyAllExplicitlyOnInit(): Promise<boolean>;
    shouldAcceptAllImplicitlyOnInit(): Promise<boolean>;
    shouldAcceptAllImplicitlyOnVendorAdded(): Promise<boolean>;
    shouldShowFirstLayerOnVersionChange(): boolean;
    getUpdatedServicesWithConsent(status: CONSENT_STATUS): Service[];
    getUpdatedServicesDataWithConsent(status: CONSENT_STATUS): ServiceData[];
    getUpdatedServicesWithDecisions(decisions: UserDecision[]): Service[];
    getUpdatedServicesDataWithDecisions(decisions: UserDecision[]): ServiceData[];
    updateDataTransferSettings({ controllerId, id, selectedLanguage, version }: DataTransferSettings): void;
    isTcfHistoryV2Disabled(): boolean;
    getTCFPurposeOneTreatment(): boolean;
    getTCFStackIds(): number[];
    getTCFVendorIds(): number[];
    getTCFDisclosedVendorsSegmentString(): string | undefined;
    injectTCString(tcString: string): Promise<boolean>;
    fetchServices(dpsJson: DpsJsonResponse): Promise<LegacyHashService[] | null>;
    private mapBaseServices;
    getThirdPartyCount(): number;
}
export default SettingsV2;
