import type * as cxapi from '@aws-cdk/cloud-assembly-api'; import type { Deployments } from '../deployments'; import type { IoHelper } from '../io/private'; export interface ResourceOrphanerProps { readonly deployments: Deployments; readonly ioHelper: IoHelper; readonly roleArn?: string; readonly toolkitStackName?: string; } /** * A resource that will be orphaned. */ export interface OrphanedResource { readonly logicalId: string; readonly resourceType: string; readonly cdkPath: string; } /** * The result of planning an orphan operation. */ export interface OrphanPlan { /** The stack being modified */ readonly stackName: string; /** Resources that will be detached from the stack */ readonly orphanedResources: OrphanedResource[]; /** Execute the orphan operation (3 CloudFormation deployments) */ execute(): Promise; } /** * The result of executing an orphan operation. */ export interface OrphanResult { /** Resource mapping JSON for use with `cdk import --resource-mapping` */ readonly resourceMapping: Record>; } /** * Orphans all resources under construct path(s) from a CloudFormation stack. * * Usage: * const plan = await orphaner.makePlan(stack, constructPaths); * // inspect plan.orphanedResources * const result = await plan.execute(); */ export declare class ResourceOrphaner { private readonly deployments; private readonly ioHelper; private readonly roleArn?; private readonly toolkitStackName?; constructor(props: ResourceOrphanerProps); /** * Analyze the stack and build a plan of what will be orphaned. * This is read-only — no changes are made until `plan.execute()` is called. */ makePlan(stack: cxapi.CloudFormationStackArtifact, constructPaths: string[]): Promise; private execute; /** * Deploy a template override to the stack. */ private deployStack; /** * Resolve GetAtt attribute values for orphaned resources. * * Current strategy: inject temporary Outputs into the stack that reference * each GetAtt, deploy, then read the resolved values from DescribeStacks. * * This function is intentionally decoupled from the rest of the orphan flow * so it can be replaced with a Cloud Control API-based approach later. * * Returns a complete map of resolved values (Ref + attrs) for each logical ID. */ private resolveGetAttValues; private findGetAttReferences; private getResourceIdentifiers; } //# sourceMappingURL=orphaner.d.ts.map