aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
16 lines (15 loc) • 616 B
TypeScript
import type { IConstruct } from 'constructs';
import type { CfnResource } from '../cfn-resource';
interface ITraitFactory<T> {
forResource(resource: CfnResource): T;
}
export declare class Traits<Trait extends object, Factory extends ITraitFactory<Trait>> {
private readonly sym;
private readonly defaultFactoryFor;
private instances;
constructor(sym: symbol, defaultFactoryFor: (type: string) => Factory | undefined);
of(resource: CfnResource): Trait | undefined;
register(scope: IConstruct, cfnType: string, factory: Factory, sym: symbol): void;
private lookupFactory;
}
export {};