import type { IConstruct } from 'constructs'; import type { CfnResource } from '../cfn-resource'; interface ITraitFactory { forResource(resource: CfnResource): T; } export declare class Traits> { 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 {};