import { StorageTypes } from '../../common/constants';
import { NearNetworks } from '../../common/types';
import { GlobalConfig } from '../models/globalConfig';
import SiteConfig from '../models/siteConfig';
import EnsService from './ensService';
export default class GlobalConfigService {
    private _globalConfigRepository;
    private _defaultConfigId;
    ensService: EnsService;
    get(): Promise<GlobalConfig>;
    set(config: GlobalConfig): Promise<void>;
    setFirstInstallation(): Promise<void>;
    mergeConfig(config: Partial<GlobalConfig>): Promise<void>;
    getProfiles(): Promise<{
        id: string;
        isActive: boolean;
    }[]>;
    setActiveProfile(profileId: string): Promise<void>;
    renameProfile(profileId: string, newProfileId: string): Promise<void>;
    copyProfile(sourceProfileId: string, makeActive?: boolean): Promise<string>;
    deleteProfile(id: string): Promise<void>;
    importProfile(url: string, makeActive?: boolean): Promise<string>;
    exportProfile(profileId: string): Promise<string>;
    createShareLink(profileId?: string): Promise<string>;
    getInitialConfig(): GlobalConfig;
    setIsFirstInstallation(isActive: boolean): Promise<void>;
    getIsFirstInstallation(): Promise<boolean>;
    getPinnedActions(): Promise<{
        dappletName: string | boolean;
        widgetPinId: string | boolean;
    }[]>;
    removePinnedActions(dappletName: string, widgetPinId: string): Promise<void>;
    addPinnedActions(dappletName: string, widgetPinId: string): Promise<void>;
    getRegistries(): Promise<{
        isEnabled: boolean;
        url: string;
        isDev: boolean;
    }[]>;
    addRegistry(url: string, isDev: boolean): Promise<void>;
    removeRegistry(url: string): Promise<void>;
    enableRegistry(url: string): Promise<void>;
    disableRegistry(url: string): Promise<void>;
    getDevMode(): Promise<boolean>;
    setDevMode(isActive: boolean): Promise<void>;
    updateConfig(callback: (config: GlobalConfig) => void): Promise<void>;
    updateTargetStorages(storages: StorageTypes[]): Promise<void>;
    getTargetStorages(): Promise<StorageTypes[]>;
    getTrustedUsers(): Promise<{
        account: string;
    }[]>;
    addTrustedUser(account: string): Promise<void>;
    containsTrustedUser(account: string): Promise<boolean>;
    removeTrustedUser(account: string): Promise<void>;
    getUserSettings(moduleName: string, key: string): Promise<string | number | boolean>;
    setUserSettings(moduleName: string, key: string, value: any): Promise<void>;
    getAllUserSettings(moduleName: string): Promise<{
        [key: string]: string | number | boolean;
    }>;
    setAllUserSettings(moduleName: string, values: any): Promise<void>;
    removeUserSettings(moduleName: string, key: string): Promise<void>;
    clearUserSettings(moduleName: string): Promise<void>;
    getErrorReporting(): Promise<boolean>;
    setErrorReporting(isActive: boolean): Promise<void>;
    getUserTracking(): Promise<boolean>;
    setUserTracking(isActive: boolean): Promise<void>;
    setEthereumProvider(url: string): Promise<void>;
    getEthereumProvider(): Promise<string>;
    setXdaiProvider(url: string): Promise<void>;
    getXdaiProvider(): Promise<string>;
    setSwarmGateway(url: string): Promise<void>;
    getSwarmGateway(): Promise<string>;
    getWalletsUsage(): Promise<{
        [moduleName: string]: {
            [chain: string]: string;
        };
    }>;
    setWalletsUsage(walletsUsage: {
        [moduleName: string]: {
            [chain: string]: string;
        };
    }): Promise<void>;
    getUserAgentId(): Promise<string>;
    getUserAgentName(): Promise<string>;
    setUserAgentName(value: string): Promise<void>;
    getSiteConfigById(id: string): Promise<SiteConfig>;
    updateSiteConfig(config: SiteConfig): Promise<void>;
    getLastDevMessageHash(): Promise<string>;
    setLastDevMessageHash(hash: string): Promise<void>;
    getIgnoredUpdate(): Promise<string>;
    setIgnoredUpdate(version: string): Promise<void>;
    getLastMessageSeenTimestamp(): Promise<string>;
    setLastMessageSeenTimestamp(lastMessageSeenTimestamp: string): Promise<void>;
    getPreferedOverlayStorage(): Promise<string>;
    setPreferedOverlayStorage(storage: string): Promise<void>;
    getSwarmPostageStampId(): Promise<string>;
    setSwarmPostageStampId(postageStampId: string): Promise<void>;
    getIpfsGateway(): Promise<string>;
    setIpfsGateway(url: string): Promise<void>;
    getNearNetworks(): Promise<import("../../common/types").NearNetworkConfig[]>;
    getEthereumNetworks(): Promise<import("../../common/types").EthereumNetwrokConfig[]>;
    getMyDapplets(): Promise<{
        registryUrl: string;
        name: string;
    }[]>;
    addMyDapplet(registryUrl: string, name: string): Promise<void>;
    removeMyDapplet(registryUrl: string, name: string): Promise<void>;
    private _checkEthereumProvider;
    getConnectedAccountsTestnetContractAddress(): Promise<string>;
    getConnectedAccountsMainnetContractAddress(): Promise<string>;
    getPreferredConnectedAccountsNetwork(): Promise<NearNetworks>;
    setPreferredConnectedAccountsNetwork(network: NearNetworks): Promise<void>;
    isThereActiveDapplets(): Promise<boolean>;
}
