import { PlainVersionedObject, VersionedObject } from '../../base/versioned-object';
import { CommonConnectionSettings } from './common-connection-settings';
/**
 * Defines The extension settings object for the connection. Each key identifies the settings for one extension
 */
export interface ExtensionConnectionSettingsMap extends MsftSme.StringMap<PlainVersionedObject> {
}
/**
 * The Versioned representation of the Connection Settings.
 */
export declare class ConnectionSettings extends VersionedObject {
    /**
     * The names of properties that are saved into the versioned object
     */
    private static propertyNames;
    /**
     * Getter for the latest version of the user profile.
     */
    get latestVersion(): number;
    /**
     * Getter for common connection settings object
     * The settings in the object are available to all extensions
     */
    get common(): CommonConnectionSettings;
    /**
     * Getter for extension connection settings object map
     * Each extension has its own object in this map.
     */
    get extensions(): ExtensionConnectionSettingsMap;
    /**
     * Setter for extension connection settings object map
     */
    set extensions(value: ExtensionConnectionSettingsMap);
    /**
     * upgrades the current properties to the latest version
     * if this.currentVersion is null or undefined, then the upgrade should initialize to the latest version
     */
    protected upgrade(): void;
}
