import { VersionUpgrade } from './VersionUpgrade';
import { AdaptableState } from '../PredefinedConfig/AdaptableState';
/**
 * The upgrade config object
 */
export interface UpgradeConfig {
    /**
     * The version to upgrade from
     */
    fromVersion: number;
    /**
     * The version to upgrade to
     *
     * @defaultValue The current version
     */
    toVersion?: number;
    /**
     * The logger object
     *
     * @defaultValue The console object
     */
    logger?: MigrationLogger;
}
export interface MigrationLogger {
    success: (message: string, ...optionalParams: any[]) => void;
    info: (message: string, ...optionalParams: any[]) => void;
    warn: (message: string, ...optionalParams: any[]) => void;
    error: (message: string, ...optionalParams: any[]) => void;
}
export declare class AdaptableUpgradeHelper {
    protected currentMajorVersion: number;
    protected versionUpgrades: Map<number, VersionUpgrade>;
    protected logger: MigrationLogger;
    private constructor();
    static migrateAdaptableState(state: AdaptableState, config: UpgradeConfig): AdaptableState;
    private getCurrentMajorVersion;
    private getConsoleLogger;
}
