import { SfCommand } from '@salesforce/sf-plugins-core'; export interface InitFlags { 'project-dir': string; scan?: boolean; sourceDir?: string; } export interface DiscoveredPackage { name: string; path: string; } export interface InitLogger { log: (msg: string) => void; error: (msg: string) => void; } /** * Reads sfdx-project.json and returns the declared packageDirectories paths. * Returns null if the file is missing, malformed, or has no packageDirectories. */ export declare function readSfdxPackageDirectories(projectRoot: string): string[] | null; /** * Scans a source root for *-meta.xml files and derives archguard packages. * A package root is identified as the parent directory of any standard * SFDX metadata-type folder (classes, objects, triggers, ...). * If the source root itself contains metadata-type folders directly, it is * treated as a single package. */ export declare function discoverPackagesInRoot(projectRoot: string, sourceRootAbs: string): DiscoveredPackage[]; /** * Orchestrates package discovery across all known source roots, narrating * each step via the supplied logger so the user understands what happens. */ export declare function discoverPackages(projectRoot: string, explicitSourceDir: string | undefined, logger: InitLogger): DiscoveredPackage[]; export declare function generateConfig(packages: DiscoveredPackage[]): string; export declare function executeInit(flags: InitFlags, dependencies?: InitLogger): void; export default class ArchguardInit extends SfCommand { static readonly summary: string; static readonly description: string; static readonly examples: string[]; static readonly flags: { 'project-dir': import("@oclif/core/interfaces").OptionFlag; yes: import("@oclif/core/interfaces").BooleanFlag; 'no-scan': import("@oclif/core/interfaces").BooleanFlag; 'source-dir': import("@oclif/core/interfaces").OptionFlag; ai: import("@oclif/core/interfaces").BooleanFlag; 'ai-agent': import("@oclif/core/interfaces").OptionFlag; }; private resolveAiAgent; private describeAgent; run(): Promise; } //# sourceMappingURL=init.d.ts.map