import type { ITemplateDiff } from '@aws-cdk/cloudformation-diff'; import type { Duration, SingleStack } from './types'; /** * Different types of permission related changes in a diff */ export declare enum PermissionChangeType { /** * No permission changes */ NONE = "none", /** * Permissions are broadening */ BROADENING = "broadening", /** * Permissions are changed but not broadening */ NON_BROADENING = "non-broadening" } /** * The diff formatted as different types of output */ export interface FormattedDiff { /** * The stack diff formatted as a string */ readonly diff: string; /** * The security diff formatted as a string, if any */ readonly security?: string; } /** * Diff information for a single stack */ export interface StackDiff extends SingleStack { /** * Total number of stacks that have changes * Can be higher than `1` if the stack has nested stacks. */ readonly numStacksWithChanges: number; /** * Total number of stacks that have security-related changes. * Can be higher than `1` if the stack has nested stacks. */ readonly numStacksWithSecurityChanges: number; /** * Structural diff of the stack * Can include more than a single diff if the stack has nested stacks. */ readonly diffs: { [name: string]: ITemplateDiff; }; /** * The formatted diff */ readonly formattedDiff: FormattedDiff; /** * Does the diff contain changes to permissions and what kind */ readonly permissionChanges: PermissionChangeType; } /** * Output of the diff command */ export interface DiffResult extends Duration { /** * Total number of stacks that have changes */ readonly numStacksWithChanges: number; /** * Total number of stacks that have security-related changes */ readonly numStacksWithSecurityChanges: number; /** * Structural diff of all selected stacks */ readonly diffs: { [name: string]: ITemplateDiff; }; } //# sourceMappingURL=diff.d.ts.map