import { ServiceIdentifier } from '@inversifyjs/common'; import { BindingActivation, BindingDeactivation } from '@inversifyjs/core'; import { BindToFluentSyntax } from '../../binding/models/BindingFluentSyntax'; import { BindingIdentifier } from '../../binding/models/BindingIdentifier'; import { IsBoundOptions } from './isBoundOptions'; export type Bind = (serviceIdentifier: ServiceIdentifier) => BindToFluentSyntax; export type IsBound = (serviceIdentifier: ServiceIdentifier, options?: IsBoundOptions) => boolean; export type OnActivation = (serviceIdentifier: ServiceIdentifier, activation: BindingActivation) => void; export type OnDeactivation = (serviceIdentifier: ServiceIdentifier, deactivation: BindingDeactivation) => void; export type Rebind = (serviceIdentifier: ServiceIdentifier) => Promise>; export type RebindSync = (serviceIdentifier: ServiceIdentifier) => BindToFluentSyntax; export type Unbind = (identifier: BindingIdentifier | ServiceIdentifier) => Promise; export type UnbindSync = (identifier: BindingIdentifier | ServiceIdentifier) => void; export interface ContainerModuleLoadOptions { bind: Bind; isBound: IsBound; onActivation: OnActivation; onDeactivation: OnDeactivation; rebind: Rebind; rebindSync: RebindSync; unbind: Unbind; unbindSync: UnbindSync; } export declare class ContainerModule { #private; constructor(load: (options: ContainerModuleLoadOptions) => void | Promise); get id(): number; load(options: ContainerModuleLoadOptions): void | Promise; } //# sourceMappingURL=ContainerModule.d.ts.map