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