import type { PackageInfos } from "workspace-tools"; import type { Target } from "./types/Target.js"; import type { StagedTargetConfig, TargetConfig } from "./types/TargetConfig.js"; export interface TargetFactoryOptions { root: string; packageInfos: PackageInfos; resolve(packageName: string): string; } export declare class TargetFactory { private options; /** All scripts found in any package (not counting the root package) */ private packageScripts; constructor(options: TargetFactoryOptions); private getTargetType; /** * Creates a package task `Target` */ createPackageTarget(packageName: string, task: string, config: TargetConfig): Target; createGlobalTarget(id: string, config: TargetConfig): Target; /** * Creates a target that operates on files that are "staged" (changed in git vs `--since`) */ createStagedTarget(task: string, config: StagedTargetConfig, changedFiles: string[]): Target; }