import { IUnleashStores } from '../types/stores';
import { IUnleashConfig } from '../types/option';
export interface IVersionInfo {
    oss: string;
    enterprise?: string;
}
export interface IVersionHolder {
    current: IVersionInfo;
    latest: Partial<IVersionInfo>;
    isLatest: boolean;
    instanceId: string;
}
export interface IVersionResponse {
    versions: IVersionInfo;
    latest: boolean;
}
export default class VersionService {
    private logger;
    private settingStore;
    private current;
    private latest?;
    private enabled;
    private versionCheckUrl;
    private instanceId?;
    private isLatest;
    private timer;
    constructor({ settingStore }: Pick<IUnleashStores, 'settingStore'>, { getLogger, versionCheck, enterpriseVersion, }: Pick<IUnleashConfig, 'getLogger' | 'versionCheck' | 'enterpriseVersion'>);
    setup(): Promise<void>;
    setInstanceId(): Promise<void>;
    checkLatestVersion(): Promise<void>;
    getVersionInfo(): IVersionHolder;
    destroy(): void;
}
