import type { ResolvableSimpleDependency, ComplexDependency } from './IDependencyResolver'; /** * Resolves the requested dependency using the resolver in the current context. * * @template T The dependency type to resolve. * * @param dependency The dependency to resolve. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} */ export declare function useDependency(dependency: ResolvableSimpleDependency): T; /** * @ignore * Resolves the requested dependency using the resolver in the current context. * * @template T The dependency type to resolve. * * @param dependency The dependency to resolve. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} */ export declare function useDependency(dependency: ResolvableSimpleDependency | null): T | null; /** * Resolves the requested dependency using the resolver in the current context. * * @template T The dependency type to resolve. * * @param dependency The dependency to resolve. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency(dependency: ResolvableSimpleDependency | undefined): T | undefined; /** * Resolves the requested dependency using the resolver in the current context. * * @template T The dependency type to resolve. * * @param dependency The dependency to resolve. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency(dependency: ResolvableSimpleDependency | null | undefined): T | null | undefined; /** * Resolves the requested complex dependency using the resovler in the current context. * * @template T The dependency type to resolve. * @template TAdditional A tuple representing additional parameters required by the constructor. * * @param dependency The complex dependency to resolve. * @param additionalDependencies Additional constructor arguments which also act as dependencies, if one of them changes the dependency will be reinitialized. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} */ export declare function useDependency(dependency: ComplexDependency, additionalDependencies: TAdditional): T; /** * Resolves the requested complex dependency using the resovler in the current context. * * @template T The dependency type to resolve. * @template TAdditional A tuple representing additional parameters required by the constructor. * * @param dependency The complex dependency to resolve. * @param additionalDependencies Additional constructor arguments which also act as dependencies, if one of them changes the dependency will be reinitialized. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency(dependency: ComplexDependency | null, additionalDependencies: TAdditional): T | null; /** * Resolves the requested complex dependency using the resovler in the current context. * * @template T The dependency type to resolve. * @template TAdditional A tuple representing additional parameters required by the constructor. * * @param dependency The complex dependency to resolve. * @param additionalDependencies Additional constructor arguments which also act as dependencies, if one of them changes the dependency will be reinitialized. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency(dependency: ComplexDependency | undefined, additionalDependencies: TAdditional): T | undefined; /** * Resolves the requested complex dependency using the resovler in the current context. * * @template T The dependency type to resolve. * @template TAdditional A tuple representing additional parameters required by the constructor. * * @param dependency The complex dependency to resolve. * @param additionalDependencies Additional constructor arguments which also act as dependencies, if one of them changes the dependency will be reinitialized. * * @returns Returns the resolved dependency. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ResolvableSimpleDependency} * @see {@link useDependencyResolver} * @see {@link useViewModelDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} * * @ignore This is overload is not relevant for wiki documentation. */ export declare function useDependency(dependency: ComplexDependency | null | undefined, additionalDependencies: TAdditional): T | null | undefined;