/** biome-ignore-all lint/suspicious/noExplicitAny: trust me */ declare enum EContainerScope { Singleton = "singleton", Transient = "transient", Request = "request" } interface IContainer { add: (target: new (...args: any[]) => any, scope?: EContainerScope) => void; get: (target: new (...args: any[]) => T) => T; has: (target: new (...args: any[]) => unknown) => boolean; remove: (target: new (...args: any[]) => unknown) => void; addConstant: (identifier: string | symbol, value: T) => void; getConstant: (identifier: string | symbol) => T; hasConstant: (identifier: string | symbol) => boolean; removeConstant(identifier: string | symbol): void; } import { inject } from "inversify"; declare class Container implements IContainer { add(target: new (...args: any[]) => any, scope?: EContainerScope): void; get(target: new (...args: any[]) => T): T; has(target: new (...args: any[]) => unknown): boolean; remove(target: new (...args: any[]) => unknown): void; addConstant(identifier: string | symbol, value: T): void; getConstant(identifier: string | symbol): T; hasConstant(identifier: string | symbol): boolean; removeConstant(identifier: string | symbol): void; } declare const container: Container; import { Exception } from "@ooneex/exception"; declare class ContainerException extends Exception { constructor(message: string, key: string, data?: Record); } declare const injectable: (scope?: EContainerScope) => (target: any) => void; export { injectable, inject, container, IContainer, EContainerScope, ContainerException, Container };