import type { Stack, Tag } from '@aws-sdk/client-cloudformation'; import type { ICloudFormationClient } from '../aws-auth/private'; import { StackStatus } from '../stack-events'; export interface Template { Parameters?: Record; [section: string]: any; } export 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). * * Wraps a `Stack` object from the `@aws-sdk/client-cloudformation` library. */ 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); /** * Returns the Stack object returned from the CloudFormation service response that this decorating object wraps */ get wrapped(): Stack; /** * 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