import * as cxapi from '@aws-cdk/cx-api'; import { type DescribeChangeSetCommandOutput, type Parameter, type ResourceIdentifierSummary, type ResourceToImport, type Stack, type Tag } from '@aws-sdk/client-cloudformation'; import type { ICloudFormationClient, SdkProvider } from '../aws-auth'; import type { Deployments } from './deployments'; import { StackStatus } from '../util/cloudformation/stack-status'; import { TemplateBodyParameter } from '../util/template-body-parameter'; export type ResourcesToImport = ResourceToImport[]; export type ResourceIdentifierSummaries = ResourceIdentifierSummary[]; export type ResourceIdentifierProperties = Record; export type Template = { Parameters?: Record; [key: string]: any; }; interface TemplateParameter { Type: string; Default?: any; Description?: string; [key: string]: any; } /** * Represents an (existing) Stack in CloudFormation * * Bundle and cache some information that we need during deployment (so we don't have to make * repeated calls to CloudFormation). */ export declare class CloudFormationStack { private readonly cfn; readonly stackName: string; private readonly stack?; private readonly retrieveProcessedTemplate; static lookup(cfn: ICloudFormationClient, stackName: string, retrieveProcessedTemplate?: boolean): Promise; /** * Return a copy of the given stack that does not exist * * It's a little silly that it needs arguments to do that, but there we go. */ static doesNotExist(cfn: ICloudFormationClient, stackName: string): CloudFormationStack; /** * From static information (for testing) */ static fromStaticInformation(cfn: ICloudFormationClient, stackName: string, stack: Stack): CloudFormationStack; private _template; protected constructor(cfn: ICloudFormationClient, stackName: string, stack?: Stack | undefined, retrieveProcessedTemplate?: boolean); /** * Retrieve the stack's deployed template * * Cached, so will only be retrieved once. Will return an empty * structure if the stack does not exist. */ template(): Promise