import { BaseInjectionTokenSchemaType, ClassTypeWithArgument, ClassTypeWithInstance, ClassTypeWithInstanceAndArgument, ClassTypeWithInstanceAndOptionalArgument, ClassTypeWithOptionalArgument, ClassTypeWithoutArguments, InjectionToken, InjectionTokenSchemaType, OptionalInjectionTokenSchemaType } from "../token/injection-token.mjs"; import { InjectableScope } from "../enums/injectable-scope.enum.mjs"; import { Registry } from "../token/registry.mjs"; import { z } from "zod/v4"; //#region src/decorators/injectable.decorator.d.mts interface InjectableOptions { scope?: InjectableScope; token?: InjectionToken; schema?: InjectionTokenSchemaType; registry?: Registry; priority?: number; } declare function Injectable(): (target: T, context?: ClassDecoratorContext) => T; declare function Injectable(options: { scope?: InjectableScope; registry: Registry; priority?: number; }): (target: T, context?: ClassDecoratorContext) => T; declare function Injectable(options: { scope: InjectableScope; priority?: number; }): (target: T, context?: ClassDecoratorContext) => T; declare function Injectable(options: { scope?: InjectableScope; schema: Schema; registry?: Registry; priority?: number; }): >>(target: T, context?: ClassDecoratorContext) => T; declare function Injectable(options: { scope?: InjectableScope; token: InjectionToken; registry?: Registry; priority?: number; }): Schema extends BaseInjectionTokenSchemaType ? Type extends undefined ? >>(target: T, context?: ClassDecoratorContext) => T : >>(target: T, context?: ClassDecoratorContext) => T : Schema extends OptionalInjectionTokenSchemaType ? Type extends undefined ? >>(target: T, context?: ClassDecoratorContext) => T : >>(target: T, context?: ClassDecoratorContext) => T : Schema extends undefined ? >(target: R, context?: ClassDecoratorContext) => R : never; //#endregion export { Injectable, InjectableOptions }; //# sourceMappingURL=injectable.decorator.d.mts.map