import { LegacyHashService, LegacySettings, Ruleset } from '../interfaces';
import { UserConsentResponse, UserConsentResponseV2 } from '../interfaces/interfaces';
import { StorageTCF } from '../../Storage/interfaces';
import { UcDomains } from '../../../interfaces';
import { UserCountryResponse } from '../../Location/interfaces';
import { VendorList } from '../../../../libs/@iabtcf/core';
export default class Api {
    private static instance;
    private jsonFileLanguage;
    private jsonFileVersion;
    private settingsId;
    private useEuCdn;
    private disableServerConsents;
    private rulesetId;
    static getInstance(): Api;
    static resetInstance(): void;
    createSessionTrackingUrl(): string;
    resetAggregatedServicesCache(): void;
    resetTranslationsCache(): void;
    getJsonFileLanguage(): string;
    getJsonFileVersion(): string;
    getSettingsId(): string;
    getRulesetId(): string;
    setRulesetId(rulesetId: string): void;
    getDisableServerConsents(): boolean;
    setJsonFileLanguage(jsonFileLanguage: string): void;
    setJsonFileVersion(jsonFileVersion: string): void;
    setDomains(useSandbox: boolean, domains?: UcDomains): void;
    setSettingsId(settingsId: string): void;
    setEuMode(activate: boolean): void;
    setDisableServerConsents(disableServerConsents: boolean): void;
    isEuMode(): boolean;
    fetchAggregatedServices(): Promise<LegacyHashService[]>;
    fetchAvailableLanguages(): Promise<string[]>;
    fetchTranslations(): Promise<string[]>;
    fetchRuleset(): Promise<Ruleset>;
    fetchSettingsJson(): Promise<LegacySettings>;
    fetchVendorsList(): Promise<VendorList>;
    fetchUserCountry(): Promise<UserCountryResponse>;
    fetchUserTcfData(): Promise<StorageTCF>;
    fetchUserConsents(): Promise<UserConsentResponse[]>;
    fetchUserConsentsV2(): Promise<UserConsentResponseV2 | null>;
    saveConsents(): Promise<Record<string, unknown>[]>;
    saveConsentsV2(): Promise<void>;
    saveTCFConsents(): Promise<Record<string, unknown>[]>;
    saveConsentsFromBuffer(): void;
    saveConsentsV2FromBuffer(): void;
}
