import type { IDependencyResolver } from './IDependencyResolver'; import { type ReactElement, type PropsWithChildren } from 'react'; /** * Gets the currently configured dependency resolver. * * @returns Returns the currently configured dependency resolver. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link ConfigurableDependency} * @see {@link ResolvableSimpleDependency} * @see {@link useDependency} * @see {@link DependencyResolverProvider} * @see {@link DependencyResolverScope} */ export declare function useDependencyResolver(): IDependencyResolver; /** * Represents the dependency resolver context provider props. * * @see {@link DependencyResolverProvider} */ export interface IDependencyResolverProviderProps { /** * The dependency resolver to configure in the context of child components. */ readonly dependencyResolver: IDependencyResolver; } /** * Configures a dependency resolver in the context of child components. * * @returns Returns the `children` in the context of the provided `dependencyResolver`. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link useDependency} */ export declare function DependencyResolverProvider(props: PropsWithChildren): ReactElement; /** * Represents the dependency resolver scope context provider props. * * @see {@link DependencyResolverScope} */ export interface IDependencyResolverScopeProps { /** * An optional set of dependencies for which the scope should be refreshed. * The contents of the array is compared at a shallow level to determine if it has changes. */ readonly deps?: readonly any[]; } /** * Configures a dependency resolver scope in the context of child components. * * @see {@link IDependencyResolver} * @see {@link IDependencyContainer} * @see {@link useDependency} */ export declare function DependencyResolverScope({ deps, children }: PropsWithChildren): ReactElement;