import { App, Stack, StackProps } from 'aws-cdk-lib'; import { IConstruct } from 'constructs'; export type StackInput = Readonly<{ id: string; }>; export type Tag = Readonly<{ key: string; value: string; }>; export type StackConfiguration = Readonly<{ tags: Array; }>; /** Adds a CloudFormation tag to all resources within a construct scope. */ export declare const withTag: (deps: { scope: IConstruct; }) => (tag: Tag) => Tag; export type ProjectMetadata = Readonly<{ project: string; environment: string; owner: string; }>; /** * Builds default stack tags: Project, ApplicationId, Environment, Owner, and Version. * Version is read from `CI_COMMIT_REF_NAME` or falls back to `local-`. */ export declare const withDefaultConfiguration: (projectMetadata: ProjectMetadata, applicationId: string) => StackConfiguration; /** Creates a CloudFormation stack and applies default and optional additional tags. */ export declare const withStack: (deps: { defaultConfiguration: StackConfiguration; app: App; }) => (input: StackInput, configuration?: StackConfiguration, stackProperties?: StackProps) => Stack; //# sourceMappingURL=stack.d.ts.map