import { BitId } from '../../../bit-id';
import { PathLinux } from '../../../utils/path';
import { ManipulateDirItem } from '../../component-ops/manipulate-dir';
import { ImportSpecifier } from './files-dependency-builder/types/dependency-tree-type';
export declare type RelativePath = {
    sourceRelativePath: PathLinux;
    destinationRelativePath: PathLinux;
    importSpecifiers?: ImportSpecifier[];
    isCustomResolveUsed?: boolean;
    importSource?: string;
};
export default class Dependency {
    id: BitId;
    relativePaths: RelativePath[];
    constructor(id: BitId, relativePaths: RelativePath[]);
    static stripOriginallySharedDir(dependency: Dependency, manipulateDirData: ManipulateDirItem[], originallySharedDir: string): void;
    static addWrapDir(dependency: Dependency, manipulateDirData: ManipulateDirItem[], componentWrapDir: PathLinux): void;
    static getClone(dependency: Dependency): Record<string, any>;
}
