import { CloudFormationClient, type StackResourceDrift, type PropertyDifference } from '@aws-sdk/client-cloudformation';
import type { SpinningLogger } from '../gen2-migration/_common/spinning-logger';
export interface StackDriftNode {
    readonly logicalId: string;
    readonly category: string;
    readonly drifts: StackResourceDrift[];
    readonly driftDetectionId: string;
    readonly children: StackDriftNode[];
    readonly skippedChildren?: string[];
}
export interface CloudFormationDriftResults {
    readonly root: StackDriftNode;
    readonly skippedStacks: string[];
    readonly incomplete: boolean;
}
export declare function detectStackDrift(cfn: CloudFormationClient, stackName: string, print: SpinningLogger): Promise<{
    drifts: StackResourceDrift[];
    driftDetectionId: string;
}>;
export declare function isAmplifyRestApiDescriptionDrift(drift: StackResourceDrift, propDiff: PropertyDifference, print: SpinningLogger): boolean;
export declare function isAmplifyTriggerPolicyDrift(drift: StackResourceDrift, propDiff: PropertyDifference, print: SpinningLogger): boolean;
export declare function detectStackDriftRecursive(cfn: CloudFormationClient, stackName: string, print: SpinningLogger): Promise<CloudFormationDriftResults>;
//# sourceMappingURL=detect-stack-drift.d.ts.map