/**
 * dependency-graph
 * Generate dependency graph of internal packages
 */
/// <reference types="node" />
import { LernaPackage, PackageJsonDependencies, PackageName } from '@typescript-tools/io-ts';
import { PackageDiscoveryError } from '@typescript-tools/lerna-packages';
import * as TE from 'fp-ts/TaskEither';
export declare type PackageManifest = LernaPackage & PackageJsonDependencies;
declare type ReadFileError = {
    type: 'unable to read file';
    filename: string;
    error: NodeJS.ErrnoException;
};
declare type UnexpectedFileContentsError = {
    type: 'unexpected file contents';
    filename: string;
    error: string;
};
export declare type DependencyGraphError = PackageDiscoveryError | ReadFileError | UnexpectedFileContentsError;
/**
 * Generate a DAG of internal dependencies.
 */
export declare function dependencyGraph({ root, recursive, }?: {
    root?: string;
    recursive: boolean;
}): TE.TaskEither<DependencyGraphError, Map<PackageName, PackageManifest[]>>;
export {};
//# sourceMappingURL=dependency-graph.d.ts.map