import * as reflect from 'jsii-reflect'; declare enum CoreTypesFqn { CfnResource = "aws-cdk-lib.CfnResource", Resource = "aws-cdk-lib.Resource", ResourceInterface = "aws-cdk-lib.IResource", ResolvableInterface = "aws-cdk-lib.IResolvable", PhysicalName = "aws-cdk-lib.PhysicalName", Construct = "constructs.Construct", ConstructInterface = "constructs.IConstruct" } export declare class CoreTypes { /** * @returns true if assembly has the Core module */ static hasCoreModule(assembly: reflect.Assembly): boolean; /** * @returns true if `classType` represents an L1 Cfn Resource */ static isCfnResource(c: reflect.ClassType): boolean; /** * @returns true if `classType` represents a Construct */ static isConstructClass(c: reflect.ClassType): boolean; /** * @returns true if `classType` represents an AWS resource (i.e. extends `cdk.Resource`). */ static isResourceClass(classType: reflect.ClassType): string | true | undefined; /** * Return true if the nesting parent of the given interface is a CFN class */ static isCfnNestedType(interfaceType: reflect.Type): boolean | undefined; /** * Return true if the given interface type is a CFN class, prop type or interface */ static isCfnType(interfaceType: reflect.Type): boolean; /** * @returns `classType` for the core type Construct * @deprecated - use `baseConstructClass()` */ get constructClass(): reflect.ClassType; /** * @returns `classType` for the core type Construct */ get baseConstructClass(): reflect.ClassType; /** * @returns `classType` for the core type Construct */ get baseConstructClassFqn(): CoreTypesFqn; /** * @returns `interfacetype` for the core type Construct * @deprecated - use `baseConstructInterface()` */ get constructInterface(): reflect.InterfaceType; /** * @returns `interfacetype` for the core type Construct */ get baseConstructInterface(): reflect.InterfaceType; /** * @returns fqn for for the core Construct interface */ get baseConstructInterfaceFqn(): CoreTypesFqn; /** * @returns `classType` for the core type Resource */ get resourceClass(): reflect.ClassType; /** * @returns fqn for the core type Resource */ get resourceClassFqn(): CoreTypesFqn; /** * @returns fqn for the core Resource interface */ get resourceInterface(): reflect.InterfaceType; /** * @returns `interfaceType` for the core type Resource */ get resourceInterfaceFqn(): CoreTypesFqn; /** * @returns `classType` for the core type Token */ get tokenInterface(): reflect.InterfaceType; /** * @returns fqn for the core type Token */ get tokenInterfaceFqn(): CoreTypesFqn; get physicalNameClass(): reflect.ClassType; private readonly sys; constructor(sys: reflect.TypeSystem); } export {};