import type { Construct, IConstruct } from 'constructs';
interface PropertyInjectableConstructConstructor {
    readonly PROPERTY_INJECTION_ID: string;
    new (scope: Construct, id: string, props: any, ...args: any[]): IConstruct;
}
/**
 * This decorator applies property injection before calling the Construct's constructor.
 *
 * ** Please make sure the Construct has PROPERTY_INJECTION_ID property.**
 *
 * @param constructor constructor of the Construct
 * @returns an instance of the class with Property Injection applied.
 */
export declare function propertyInjectable<T extends PropertyInjectableConstructConstructor>(constructor: T): T;
export {};
