import ComponentConfig from './component-config';
import { ConsumerOverridesOfComponent } from './consumer-overrides';
import { ILegacyWorkspaceConfig } from './legacy-workspace-config-interface';
import { BitId } from '../../bit-id';
import { ComponentOrigin } from '../bit-map/component-map';
export declare const componentOverridesForbiddenFields: string[];
export declare type DependenciesOverridesData = {
    dependencies?: Record<string, any>;
    devDependencies?: Record<string, any>;
    peerDependencies?: Record<string, any>;
};
export declare type ComponentOverridesData = DependenciesOverridesData & {
    [key: string]: any;
};
declare type OverridesLoadRegistry = {
    [extId: string]: Function;
};
export default class ComponentOverrides {
    overrides: ConsumerOverridesOfComponent;
    constructor(overrides: ConsumerOverridesOfComponent | null | undefined);
    static componentOverridesLoadingRegistry: OverridesLoadRegistry;
    static registerOnComponentOverridesLoading(extId: any, func: (id: any, config: any) => any): void;
    static loadFromConsumer(componentId: BitId, workspaceConfig: ILegacyWorkspaceConfig, overridesFromModel: ComponentOverridesData | undefined, componentConfig: ComponentConfig, origin: ComponentOrigin): Promise<ComponentOverrides>;
    static loadFromScope(overridesFromModel?: ComponentOverridesData | null | undefined): any;
    get componentOverridesData(): any;
    get componentOverridesPackageJsonData(): any;
    getEnvByType(envType: any): string | Record<string, any> | undefined;
    getComponentDependenciesWithVersion(): Record<string, any>;
    get defaultScope(): string | undefined;
    _filterForComponentWithValidVersion(deps: Record<string, any>): Record<string, any>;
    _isValidVersion(ver: string): boolean;
    getIgnored(field: string): string[];
    getIgnoredFiles(field: string): string[];
    getIgnoredComponents(field: string): string[];
    _getComponentNamesFromPackages(idStr: string): string[];
    getIgnoredPackages(field: string): string[];
    stripOriginallySharedDir(sharedDir: string | null | undefined): void;
    addOriginallySharedDir(sharedDir: string | null | undefined): void;
    static getAllFilesPaths(overrides: Record<string, any>): string[];
    clone(): ComponentOverrides;
}
export {};
