import { ConfigType, HostConfig } from './types';
import { PathOsBased, PathOsBasedAbsolute } from '../../utils/path';
import { WorkspaceConfig, WorkspaceConfigFileProps, LegacyInitProps, ComponentsConfigFn, ComponentConfigFn } from './workspace-config';
import { ExtensionConfigList, ExtensionConfigEntry } from '../../consumer/config';
export declare class Config {
    workspaceConfig?: WorkspaceConfig | undefined;
    scopeConfig?: WorkspaceConfig | undefined;
    constructor(workspaceConfig?: WorkspaceConfig | undefined, scopeConfig?: WorkspaceConfig | undefined);
    get type(): ConfigType;
    get path(): PathOsBased | undefined;
    get config(): HostConfig | undefined;
    static loadIfExist(dirPath: PathOsBased): Promise<Config | undefined | any>;
    static ensureWorkspace(dirPath: PathOsBasedAbsolute, workspaceConfigProps?: WorkspaceConfigFileProps, legacyInitProps?: LegacyInitProps): Promise<Config>;
    get extensions(): ExtensionConfigList | undefined;
    extension(extensionId: string, ignoreVersion: boolean): ExtensionConfigEntry | undefined;
    registerGetVariantsConfig(fn: ComponentsConfigFn): void;
    registerGetVariantConfig(fn: ComponentConfigFn): void;
}
