import type { Export, StackResourceSummary } from '@aws-sdk/client-cloudformation'; import type { SDK } from './aws-auth'; import type { NestedStackTemplates } from './deployments'; export interface ListStackResources { listStackResources(): Promise; } export declare class LazyListStackResources implements ListStackResources { private readonly sdk; private readonly stackName; private stackResources; constructor(sdk: SDK, stackName: string); listStackResources(): Promise; } export interface LookupExport { lookupExport(name: string): Promise; } export declare class LookupExportError extends Error { } export declare class LazyLookupExport implements LookupExport { private readonly sdk; private cachedExports; constructor(sdk: SDK); lookupExport(name: string): Promise; private listExports; } export declare class CfnEvaluationException extends Error { } export interface ResourceDefinition { readonly LogicalId: string; readonly Type: string; readonly Properties: { [p: string]: any; }; } export interface EvaluateCloudFormationTemplateProps { readonly stackName: string; readonly template: Template; readonly parameters: { [parameterName: string]: string; }; readonly account: string; readonly region: string; readonly partition: string; readonly sdk: SDK; readonly nestedStacks?: { [nestedStackLogicalId: string]: NestedStackTemplates; }; } export declare class EvaluateCloudFormationTemplate { private readonly stackName; private readonly template; private readonly context; private readonly account; private readonly region; private readonly partition; private readonly sdk; private readonly nestedStacks; private readonly stackResources; private readonly lookupExport; private cachedUrlSuffix; constructor(props: EvaluateCloudFormationTemplateProps); createNestedEvaluateCloudFormationTemplate(stackName: string, nestedTemplate: Template, nestedStackParameters: { [parameterName: string]: any; }): Promise; establishResourcePhysicalName(logicalId: string, physicalNameInCfnTemplate: any): Promise; findPhysicalNameFor(logicalId: string): Promise; findLogicalIdForPhysicalName(physicalName: string): Promise; findReferencesTo(logicalId: string): Array; evaluateCfnExpression(cfnExpression: any): Promise; getResourceProperty(logicalId: string, propertyName: string): any; private references; private parseIntrinsic; private findRefTarget; private findGetAttTarget; private findNestedStack; private formatResourceAttribute; private getServiceOfResource; private getResourceTypeArnPartOfResource; } export type Template = { [section: string]: { [headings: string]: any; }; };