import type { AcceptedDependencyException, Package, StratifyResolvedConfig, Violation } from '../types/types.js'; /** * Validate all packages against layer configuration. * * @param packages - Discovered packages to validate. * @param config - Fully resolved stratify configuration. * @param allowedPackagesByLayer - Map from layer name to the set of allowed package names. * If a layer is not in this map, it has no membership restrictions. */ export declare function validatePackages(packages: Package[], config: StratifyResolvedConfig, allowedPackagesByLayer?: Map>): Violation[]; export interface PackageValidationResult { violations: Violation[]; acceptedExceptions: AcceptedDependencyException[]; exceptionErrors: string[]; } /** * Validate packages and resolve every configured dependency exception against real edges. */ export declare function validatePackagesWithExceptions(packages: Package[], config: StratifyResolvedConfig, allowedPackagesByLayer?: Map>): PackageValidationResult;