import { Target as ITarget, TargetType, ServiceIdentifier, QueryableString as IQueryableString, Metadata as IMetadata } from '../interfaces/interfaces'; import { Metadata } from './metadata'; export declare class Target implements ITarget { id: number; type: TargetType; serviceIdentifier: ServiceIdentifier; name: IQueryableString; identifier: string | symbol; metadata: Metadata[]; constructor(type: TargetType, identifier: string | symbol, serviceIdentifier: ServiceIdentifier, namedOrTagged?: string | Metadata); hasTag(key: string): boolean; isArray(): boolean; matchesArray(name: ServiceIdentifier): boolean; isNamed(): boolean; isTagged(): boolean; isOptional(): boolean; getNamedTag(): IMetadata | null; getCustomTags(): IMetadata[] | null; matchesNamedTag(name: string): boolean; matchesTag(key: string): (value: unknown) => boolean; }