import { Container as Container_2 } from 'inversify'; import { FC } from 'react'; import { inject as inject_2 } from 'inversify'; import { injectable } from 'inversify'; import { interfaces } from 'inversify'; import * as inversifyReact from 'inversify-react'; import { ReactNode } from 'react'; export declare type AsyncModuleRegistry = (container: Container) => Promise; export declare class Container { protected parent?: Container | undefined; protected container: Container_2; constructor(parent?: Container | undefined); bindConstant(serviceIdentifier: interfaces.ServiceIdentifier, value: T): this; bindDynamic(serviceIdentifier: interfaces.ServiceIdentifier, func: (context: interfaces.Context) => T): this; bindTransient(constructor: { new (...args: any[]): T; }): this; bindTransient(serviceIdentifier: interfaces.ServiceIdentifier, constructor: { new (...args: any[]): T; }): this; bindSingleton(constructor: { new (...args: any[]): T; }): this; bindSingleton(serviceIdentifier: interfaces.ServiceIdentifier, constructor: { new (...args: any[]): T; }): this; associateWith(serviceIdentifierFrom: interfaces.ServiceIdentifier, serviceIdentifierTo: interfaces.ServiceIdentifier): this; load(...moduleRegistries: Array): void; loadAsync(...asnycModuleRegistries: Array): Promise; get(serviceIdentifier: interfaces.ServiceIdentifier): T; getAll(serviceIdentifier: interfaces.ServiceIdentifier): Array; takeSnapshot(): void; restoreSnapshot(): void; _diContainer(): interfaces.Container; } export declare const ContainerProvider: FC; export declare interface ContainerProviderProps { container: Container; children: ReactNode; } export declare function inject(serviceIdentifier: interfaces.ServiceIdentifier): ReturnType>; export declare namespace inject { var optional: (serviceIdentifier: interfaces.ServiceIdentifier) => ReturnType>; } export { injectable } export declare type ModuleRegistry = (container: Container) => void; export declare const service: typeof injectable; export declare const store: typeof injectable; export declare const useInjection: typeof inversifyReact.useInjection; export { }