import { CloudFormation } from 'aws-sdk'; import { StackStatus } from './cloudformation/stack-status'; export declare type Template = { Parameters?: Record; [key: string]: any; }; interface TemplateParameter { Type: string; Default?: any; [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?; static lookup(cfn: CloudFormation, stackName: string): 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: CloudFormation, stackName: string): CloudFormationStack; /** * From static information (for testing) */ static fromStaticInformation(cfn: CloudFormation, stackName: string, stack: CloudFormation.Stack): CloudFormationStack; private _template; protected constructor(cfn: CloudFormation, stackName: string, stack?: CloudFormation.Stack | undefined); /** * 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