import * as cfn from 'aws-cdk-lib/aws-cloudformation'; import * as cloudfront from 'aws-cdk-lib/aws-cloudfront'; import * as acm from 'aws-cdk-lib/aws-certificatemanager'; import * as appstream from 'aws-cdk-lib/aws-appstream'; import * as route53 from 'aws-cdk-lib/aws-route53'; import * as origins from 'aws-cdk-lib/aws-cloudfront-origins'; import * as customresources from 'aws-cdk-lib/custom-resources'; import * as iam from 'aws-cdk-lib/aws-iam'; import * as lambda from 'aws-cdk-lib/aws-lambda'; import * as sns from 'aws-cdk-lib/aws-sns'; import * as sqs from 'aws-cdk-lib/aws-sqs'; import * as s3 from 'aws-cdk-lib/aws-s3'; import * as api from 'aws-cdk-lib/aws-apigateway'; import * as rds from 'aws-cdk-lib/aws-rds'; import * as logs from 'aws-cdk-lib/aws-logs'; import { propertyInjectable } from 'aws-cdk-lib/core/lib/prop-injectable'; import { InjectionContext, IPropertyInjector, PropertyInjectors } from 'aws-cdk-lib/core'; import { Annotations, ArnFormat, App, Aspects, AspectApplication, AspectPriority, Aws, CfnCondition, CfnDynamicReference, CfnDynamicReferenceService, CfnInclude, CfnJson, CfnMapping, CfnOutput, CfnParameter, CfnResource, CfnResourceProps, ConstructSelector, CustomResource, CustomResourceProvider, CustomResourceProviderRuntime, DefaultStackSynthesizer, Duration, Bitrate, Fn, IAspect, ITaggable, PermissionsBoundary, RemovalPolicy, RemovalPolicies, Mixin, Mixins, MissingRemovalPolicies, Resource, SecretValue, Size, SizeRoundingBehavior, Stack, StackProps, Stage, TagManager, TagType, Tags, Token, } from 'aws-cdk-lib'; import { IConstruct, IMixin, Construct, DependencyGroup, } from 'constructs'; declare const app: App; declare const arn: 'arn:partition:service:region:account-id:resource-id'; declare const cfnResource: CfnResource; declare const construct: Construct; declare const constructA: Construct; declare const constructB: Construct; declare const constructC: Construct; declare const functionProps: lambda.SingletonFunctionProps; declare const isCompleteHandler: lambda.Function; declare const myBucket: s3.IBucket; declare const myFunction: lambda.IFunction; declare const myTopic: sns.ITopic; declare const onEventHandler: lambda.Function; declare const resourceProps: CfnResourceProps; declare class MyStack extends Stack {} declare class YourStack extends Stack {} class StackThatProvidesABucket extends Stack { public readonly bucket!: s3.IBucket; } interface StackThatExpectsABucketProps extends StackProps { readonly bucket: s3.IBucket; } class StackThatExpectsABucket extends Stack { constructor(scope: Construct, id: string, props: StackThatExpectsABucketProps) { super(scope, id, props); } } class MyAspect implements IAspect { visit(node: IConstruct) {} } class MyMixin extends Mixin { supports(_construct: IConstruct): boolean { return true; } applyTo(_construct: IConstruct): void { } } class fixture$construct extends Construct { public constructor(scope: Construct, id: string) { super(scope, id); /// here } }