import type { Workspace } from '../pm/index.ts';
export interface CompileParams {
    incremental?: boolean;
    jobs: number;
    pkg?: string;
    verbose?: boolean;
}
interface CompilePackageParams {
    pkg: string;
    verbose?: boolean;
}
type WorkspaceDependencyField = 'dependencies' | 'devDependencies';
interface WorkspacePackageJson {
    dependencies?: Record<string, string>;
    devDependencies?: Record<string, string>;
}
export interface CompileWorkspace extends Workspace {
    listed?: boolean;
    packageJson: WorkspacePackageJson;
}
export declare function getWorkspaceDependencyNames(workspace: CompileWorkspace, workspaceNames: Set<string>, fields: WorkspaceDependencyField[]): string[];
export declare function createWorkspaceDependencyGraph(workspaces: CompileWorkspace[], fields: WorkspaceDependencyField[]): {
    dependencies: Map<string, Set<string>>;
    dependents: Map<string, Set<string>>;
    workspacesByName: Map<string, CompileWorkspace>;
};
export declare const compile: ({ verbose, pkg, incremental, jobs, }: CompileParams) => number | Promise<number>;
export declare const compilePackage: ({ pkg, verbose }: CompilePackageParams) => number;
export declare const compileAll: ({ jobs, verbose, incremental, }: CompileParams) => number | Promise<number>;
export {};
//# sourceMappingURL=compile.d.ts.map