import { type ServiceIdentifier } from '@inversifyjs/common';
import { type SingleImmutableLinkedListNode } from '../../common/models/SingleImmutableLinkedList.js';
import { type MetadataName } from '../../metadata/models/MetadataName.js';
import { type MetadataTag } from '../../metadata/models/MetadataTag.js';
import { type BindingConstraints } from './BindingConstraints.js';
export interface InternalBindingConstraints {
    getAncestorsCalled: boolean;
    readonly name: MetadataName | undefined;
    readonly tags: Map<MetadataTag, unknown>;
    readonly serviceIdentifier: ServiceIdentifier;
}
export declare class BindingConstraintsImplementation implements BindingConstraints {
    #private;
    constructor(node: SingleImmutableLinkedListNode<InternalBindingConstraints>);
    get name(): MetadataName | undefined;
    get serviceIdentifier(): ServiceIdentifier;
    get tags(): Map<MetadataTag, unknown>;
    getAncestor(): BindingConstraints | undefined;
}
//# sourceMappingURL=BindingConstraintsImplementation.d.ts.map