import { type AbstractClass, type Class } from "./utils.ts"; /** * The @injectable() decorator allows you to automatically bind a class as singleton service * when requesting it from a DI container. */ export declare function injectable>(): ClassDecorator; export type InjectableClass = (Class | AbstractClass) & { [injectableSymbol]: Class[]; }; export declare const injectableSymbol: unique symbol; type ClassDecorator> = (target: C) => C | void; export declare function isInjectable(target: AbstractClass): target is InjectableClass; export declare function getInjectableTargets(target: InjectableClass): Class[]; export {};