import { type ServiceIdentifier } from '@inversifyjs/common';
import { type Cloneable } from '../../common/models/Cloneable.js';
import { type BindingDeactivation } from '../models/BindingDeactivation.js';
declare enum DeactivationRelationKind {
    moduleId = "moduleId",
    serviceId = "serviceId"
}
export interface BindingDeactivationRelation {
    [DeactivationRelationKind.moduleId]?: number;
    [DeactivationRelationKind.serviceId]: ServiceIdentifier;
}
export declare class DeactivationsService implements Cloneable<DeactivationsService> {
    #private;
    private constructor();
    static build(getParent: () => DeactivationsService | undefined): DeactivationsService;
    add(deactivation: BindingDeactivation, relation: BindingDeactivationRelation): void;
    clone(): DeactivationsService;
    get(serviceIdentifier: ServiceIdentifier): Iterable<BindingDeactivation> | undefined;
    removeAllByModuleId(moduleId: number): void;
    removeAllByServiceId(serviceId: ServiceIdentifier): void;
}
export {};
//# sourceMappingURL=DeactivationsService.d.ts.map