import { type Types } from '../Types';
interface DeferInstanceDecoratorsMetadata<C extends Object> {
    decorators: [propertyName: keyof C | string, decorator: PropertyDecorator | MethodDecorator][];
}
export declare function applyInstanceDecorators<C extends Object, CTR extends Types.Newable<C> | {
    prototype: unknown;
}>(instance: C, ctr: CTR, metadata?: DeferInstanceDecoratorsMetadata<C> | undefined): void;
export declare function RunInstanceDecorators<C extends Object>(): <CTR extends Types.Newable<C> | {
    prototype: unknown;
}>(ctr: CTR) => CTR;
export declare function DeferInstanceDecorator<C extends Object>(decorator: PropertyDecorator | MethodDecorator): (target: C, propertyName: keyof C | string) => void;
export {};
