import { IParserConfigHandler } from "./IParserConfigHandler";
export interface VersionInfo {
    versions: Version[];
    patches: Patch[];
}
export interface Patch {
    version: string;
    eocp: string;
    removed?: boolean;
    hidden?: boolean;
    extended_eocp?: string;
}
export interface Version {
    version: string;
    version_label?: string;
    support: Support;
    lts: boolean;
    eom: string;
    eocp: string;
    sapuiversion: string;
    frontendserver: string;
    beta?: string[];
}
export declare enum Support {
    Maintenance = "Maintenance",
    OutOfMaintenance = "Out of maintenance",
    Skipped = "Skipped"
}
export declare class PackageParserConfigHandler implements IParserConfigHandler {
    static readonly configCache: {
        [key: string]: IUI5PackageConfigEntry;
    };
    private static _globalConfig?;
    private static _versionInfo?;
    static setGlobalConfigPath(fsPath: string): void;
    static loadVersionInfo(dataSource: string): Promise<void>;
    private _config;
    packagePath: string;
    configPath?: string;
    constructor(packagePath?: string);
    getProxyWorkspaces(): string[] | undefined;
    loadCache(): void;
    getAdditionalWorkspaces(): string[];
    getUI5Version(): string;
    private _findLatestVersionFor;
    getExcludeFolderPatterns(): string[];
    getDataSource(): string;
    getRejectUnauthorized(): boolean;
    getLibsToLoad(): string[];
    getNodeProjects(): string[];
}
export interface IUI5PackageConfigEntry {
    ui5?: IUI5ParserEntry;
}
export interface IUI5ParserEntry {
    ui5parser?: IUI5ParserEntryFields;
}
export interface IUI5ParserEntryFields {
    ui5version?: string;
    excludeFolderPatterns?: string[];
    dataSource?: string;
    rejectUnauthorized?: boolean;
    libsToLoad?: string[];
    additionalWorkspaces?: string[];
    nodeProjects?: string[];
    proxyWorkspaces?: string[];
}
