import { type ServiceIdentifier } from '@inversifyjs/common'; import { type BindingActivation, type BindingDeactivation } from '@inversifyjs/core'; import { type BindToFluentSyntax } from '../../binding/models/BindingFluentSyntax.js'; import { type BindingIdentifier } from '../../binding/models/BindingIdentifier.js'; import { type IsBoundOptions } from './isBoundOptions.js'; 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; rebindAsync: Rebind; rebind: RebindSync; unbindAsync: Unbind; unbind: 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