import type { PluginReportJson, PolicyValidationReportConclusion } from '@aws-cdk/cloud-assembly-schema';
import type { StackCollection } from '../../api/cloud-assembly/stack-collection';
import type { IoHelper } from '../../api/io/private/io-helper';
import type { MinimumSeverity } from '../types';
interface AssemblyLike {
    readonly directory: string;
}
/**
 * Return a validation report that contains the validation report that the CDK app has written, as well as any Construct Metadata annotations in the manifest.
 *
 * This function takes into account the CDK app can already have written the
 * construct annotations into the validation report, or not, depending on the
 * setting of a deprecated feature flag. If the annotations are already in the report,
 * they are not copied.
 *
 * Afterwards, the list of violations is filtered to only include those that are relevant to the stacks selected for validation.
 *
 * Returns whether an explicit report file was found or not.
 */
export declare function obtainUnifiedValidationReport(assembly: AssemblyLike, stacks: StackCollection): Promise<PluginReportJson[]>;
/**
 * Return a success/failure conclusion from the given report
 */
export declare function combineConclusions(reports: PluginReportJson[]): PolicyValidationReportConclusion;
/**
 * For operations that are NOT `cdk validate`, read the validation report and produce a failure if validation failed.
 *
 * Validation failed if there are any plugin reports with a failure conclusion, or if there are any warnings and the assembly is in strict mode.
 */
export declare function throwIfValidationFailures(assembly: AssemblyLike, stacks: StackCollection, failAt: MinimumSeverity, ioHelper: IoHelper): Promise<void>;
export {};
//# sourceMappingURL=validation-report.d.ts.map