import { w as ClassType } from "../registry-n8JhJoxm.mjs"; import { i as FactoryOptions, n as InjectableOptions } from "../injectable.decorator-Bc05hRQU.mjs"; //#region src/legacy-compat/injectable.decorator.d.mts /** * Legacy-compatible Injectable decorator. * * Works with TypeScript experimental decorators (legacy API). * * @param options - Injectable configuration options * @returns A class decorator compatible with legacy decorator API * * @example * ```typescript * @Injectable() * export class UserService { * getUser(id: string) { * return { id, name: 'John' } * } * } * ``` */ declare function Injectable(options?: InjectableOptions): (target: ClassType) => ClassType; //#endregion //#region src/legacy-compat/factory.decorator.d.mts /** * Legacy-compatible Factory decorator. * * Works with TypeScript experimental decorators (legacy API). * * @param options - Factory configuration options * @returns A class decorator compatible with legacy decorator API * * @example * ```typescript * @Factory() * export class DatabaseConnectionFactory { * create() { * return { host: 'localhost', port: 5432 } * } * } * ``` */ declare function Factory(options?: FactoryOptions): (target: ClassType) => ClassType; //#endregion //#region src/legacy-compat/context-compat.d.mts /** * Creates a mock ClassDecoratorContext for legacy class decorators. * @internal */ declare function createClassContext(target: ClassType): ClassDecoratorContext; /** * Creates a mock ClassMethodDecoratorContext for legacy method decorators. * * Note: Method decorators need to share metadata with the class context * because endpoint metadata is stored at the class level. * @internal */ declare function createMethodContext(target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor): ClassMethodDecoratorContext; //#endregion export { Factory, type FactoryOptions, Injectable, type InjectableOptions, createClassContext, createMethodContext }; //# sourceMappingURL=index.d.mts.map