import { CacheConsultant } from './CacheConsultant.js';
import type { Configuration, PluginName, WorkspaceConfiguration } from './types/config.js';
import type { PackageJson } from './types/package-json.js';
import type { DependencySet } from './types/workspace.js';
type WorkspaceManagerOptions = {
    name: string;
    dir: string;
    cwd: string;
    config: WorkspaceConfiguration;
    manifest: PackageJson;
    dependencies: DependencySet;
    rootIgnore: Configuration['ignore'];
    negatedWorkspacePatterns: string[];
    enabledPluginsInAncestors: string[];
    isProduction: boolean;
    isStrict: boolean;
    isCache: boolean;
    cacheLocation: string;
};
export type ReferencedDependencies = Set<[string, string]>;
type CacheItem = {
    resolveEntryPaths?: string[];
    resolveConfig?: string[];
};
export declare class WorkspaceWorker {
    name: string;
    dir: string;
    cwd: string;
    config: WorkspaceConfiguration;
    manifest: PackageJson;
    manifestScriptNames: Set<string>;
    dependencies: DependencySet;
    isProduction: boolean;
    isStrict: boolean;
    rootIgnore: Configuration['ignore'];
    negatedWorkspacePatterns: string[];
    enabledPluginsMap: Record<"angular" | "astro" | "ava" | "babel" | "capacitor" | "changesets" | "commitizen" | "commitlint" | "cspell" | "cucumber" | "cypress" | "drizzle" | "eleventy" | "eslint" | "gatsby" | "githubActions" | "graphqlCodegen" | "husky" | "jest" | "ladle" | "lefthook" | "linthtml" | "lintStaged" | "lockfileLint" | "lostPixel" | "markdownlint" | "mocha" | "moonrepo" | "msw" | "netlify" | "next" | "nodeTestRunner" | "npmPackageJsonLint" | "nx" | "nyc" | "oclif" | "playwright" | "playwrightCt" | "postcss" | "prettier" | "reactCosmos" | "releaseIt" | "remark" | "remix" | "rollup" | "rsbuild" | "rspack" | "semanticRelease" | "sentry" | "simpleGitHooks" | "sizeLimit" | "storybook" | "stryker" | "stylelint" | "svelte" | "syncpack" | "tailwind" | "tsup" | "typedoc" | "typescript" | "unbuild" | "unocss" | "vercelOg" | "vite" | "vitest" | "vue" | "webdriverIo" | "webpack" | "wireit" | "wrangler" | "xo" | "yorkie", boolean>;
    enabledPlugins: PluginName[];
    enabledPluginsInAncestors: string[];
    cache: CacheConsultant<CacheItem>;
    constructor({ name, dir, cwd, config, manifest, dependencies, isProduction, isStrict, rootIgnore, negatedWorkspacePatterns, enabledPluginsInAncestors, isCache, cacheLocation, }: WorkspaceManagerOptions);
    init(): Promise<void>;
    private determineEnabledPlugins;
    private getConfigForPlugin;
    getEntryFilePatterns(): string[];
    getProjectFilePatterns(testFilePatterns: string[]): string[];
    getPluginProjectFilePatterns(): string[];
    getPluginConfigPatterns(): string[];
    getProductionEntryFilePatterns(negatedTestFilePatterns: string[]): string[];
    getProductionProjectFilePatterns(negatedTestFilePatterns: string[]): string[];
    private getConfigurationFilePatterns;
    getIgnorePatterns(): string[];
    findDependenciesByPlugins(): Promise<{
        entryFilePatterns: Set<string>;
        productionEntryFilePatterns: Set<string>;
        referencedDependencies: ReferencedDependencies;
        enabledPlugins: ("angular" | "astro" | "ava" | "babel" | "capacitor" | "changesets" | "commitizen" | "commitlint" | "cspell" | "cucumber" | "cypress" | "drizzle" | "eleventy" | "eslint" | "gatsby" | "githubActions" | "graphqlCodegen" | "husky" | "jest" | "ladle" | "lefthook" | "linthtml" | "lintStaged" | "lockfileLint" | "lostPixel" | "markdownlint" | "mocha" | "moonrepo" | "msw" | "netlify" | "next" | "nodeTestRunner" | "npmPackageJsonLint" | "nx" | "nyc" | "oclif" | "playwright" | "playwrightCt" | "postcss" | "prettier" | "reactCosmos" | "releaseIt" | "remark" | "remix" | "rollup" | "rsbuild" | "rspack" | "semanticRelease" | "sentry" | "simpleGitHooks" | "sizeLimit" | "storybook" | "stryker" | "stylelint" | "svelte" | "syncpack" | "tailwind" | "tsup" | "typedoc" | "typescript" | "unbuild" | "unocss" | "vercelOg" | "vite" | "vitest" | "vue" | "webdriverIo" | "webpack" | "wireit" | "wrangler" | "xo" | "yorkie")[];
    }>;
    onDispose(): void;
}
export {};
