import { FunctionComponent, ReactNode } from 'react'; /** * A `Provider` like component through which you can override selected dependencies. * * @see [[createUseDependencies]] */ export declare type OverrideComponent> = FunctionComponent<{ values: Partial; children?: ReactNode; }>; /** * A hook that fetches dependencies from a dependency injection layer. * In addition to that it carries a `Override` component that can be used to override selected dependencies. * * @typeParam T shape of dependency object * @see [[createUseDependencies]] */ export declare type UseDependencies> = (() => T) & { /** * When mounted, this component overrides selected dependencies for usages of the hook within any child component. */ Override: OverrideComponent; }; /** * This function sets up a very simple context based dependency injection layer. * It creates a `useDependencies` hook that can be used to fetch the dependencies from any component. * * **Example:** * ```jsx * const useMyDependencies = createUseContext({foo: 'X', bar: 1}) * * const MyComponent = () => { * const {foo} = useMyDependencies() * ... * } * * const MyApp = () => ( * * ... * >(defaultsOrFactory: T | (() => T)): UseDependencies; //# sourceMappingURL=use-dependencies.d.ts.map