import Dependency from './dependency';
import { BitId, BitIds } from '../../../bit-id';
import Scope from '../../../scope/scope';
import { BitIdStr } from '../../../bit-id/bit-id';
import { ManipulateDirItem } from '../../component-ops/manipulate-dir';
import { PathLinux } from '../../../utils/path';
export declare const DEPENDENCIES_TYPES: string[];
export declare const DEPENDENCIES_TYPES_UI_MAP: {
    dependencies: string;
    devDependencies: string;
};
export default class Dependencies {
    readonly dependencies: Dependency[];
    constructor(dependencies?: Dependency[]);
    serialize(): Record<string, any>[];
    get(): Dependency[];
    sort(): void;
    getClone(): Dependency[];
    add(dependency: Dependency): void;
    toStringOfIds(): string[];
    isEmpty(): boolean;
    asWritableObject(): any;
    cloneAsString(): Record<string, any>[];
    cloneAsObject(): Record<string, any>[];
    stripOriginallySharedDir(manipulateDirData: ManipulateDirItem[], originallySharedDir: string): void;
    addWrapDir(manipulateDirData: ManipulateDirItem[], wrapDir: PathLinux): void;
    getSourcesPaths(): string[];
    getById(id: BitId): Dependency | null | undefined;
    getByIdStr(id: BitIdStr): Dependency | null | undefined;
    getBySourcePath(sourcePath: string): Dependency | null | undefined;
    getAllIds(): BitIds;
    addRemoteAndLocalVersions(scope: Scope, modelDependencies: Dependencies): Promise<void>;
    getCustomResolvedData(): {
        [importSource: string]: BitId;
    };
    isCustomResolvedUsed(): boolean;
    validate(): void;
}
