import { CacheConsultant } from './CacheConsultant.js';
import type { Workspace } from './ConfigurationChief.js';
import type { PluginName } from './types/PluginNames.js';
import type { Configuration, WorkspaceConfiguration } from './types/config.js';
import type { PackageJson } from './types/package-json.js';
import type { DependencySet } from './types/workspace.js';
import { type Input } from './util/input.js';
type WorkspaceManagerOptions = {
    name: string;
    dir: string;
    cwd: string;
    config: WorkspaceConfiguration;
    manifest: PackageJson;
    dependencies: DependencySet;
    getReferencedInternalFilePath: (input: Input) => string | undefined;
    findWorkspaceByFilePath: (filePath: string) => Workspace | undefined;
    rootIgnore: Configuration['ignore'];
    negatedWorkspacePatterns: string[];
    ignoredWorkspacePatterns: string[];
    enabledPluginsInAncestors: string[];
    isProduction: boolean;
    isStrict: boolean;
    isCache: boolean;
    cacheLocation: string;
    allConfigFilePaths: Set<string>;
    allConfigFilesMap: Map<string, Map<PluginName, Set<string>>>;
};
type CacheItem = {
    resolveEntryPaths?: Input[];
    resolveConfig?: Input[];
};
export declare class WorkspaceWorker {
    name: string;
    dir: string;
    cwd: string;
    config: WorkspaceConfiguration;
    manifest: PackageJson;
    dependencies: DependencySet;
    getReferencedInternalFilePath: (input: Input) => string | undefined;
    findWorkspaceByFilePath: (filePath: string) => Workspace | undefined;
    isProduction: boolean;
    isStrict: boolean;
    rootIgnore: Configuration['ignore'];
    negatedWorkspacePatterns: string[];
    ignoredWorkspacePatterns: string[];
    enabledPluginsMap: Record<PluginName, boolean>;
    enabledPlugins: PluginName[];
    enabledPluginsInAncestors: string[];
    cache: CacheConsultant<CacheItem>;
    allConfigFilePaths: Set<string>;
    allConfigFilesMap: Map<string, Map<PluginName, Set<string>>>;
    constructor({ name, dir, cwd, config, manifest, dependencies, isProduction, isStrict, rootIgnore, negatedWorkspacePatterns, ignoredWorkspacePatterns, enabledPluginsInAncestors, getReferencedInternalFilePath, findWorkspaceByFilePath, isCache, cacheLocation, allConfigFilePaths, allConfigFilesMap, }: WorkspaceManagerOptions);
    init(): Promise<void>;
    private determineEnabledPlugins;
    private getConfigForPlugin;
    getEntryFilePatterns(): string[];
    getProjectFilePatterns(projectFilePatterns: string[]): string[];
    getPluginProjectFilePatterns(): string[];
    getPluginConfigPatterns(): string[];
    getPluginEntryFilePatterns(patterns: string[]): string[];
    getProductionEntryFilePatterns(negatedTestFilePatterns: string[]): string[];
    getProductionProjectFilePatterns(negatedTestFilePatterns: string[]): string[];
    private getConfigurationFilePatterns;
    getIgnorePatterns(): string[];
    runPlugins(): Promise<Input[]>;
    onDispose(): void;
}
export {};
