| Methods | 
			
	
			
				
					
	public
					
					
				
			 | 
			
				__construct(Type $keyType, Type $itemType)
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getKeyType(): Type
	
	 
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getItemType(): Type
	
	 
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getReferencedClasses(): string[]
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				accepts(Type $type, bool $strictTypes): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isSuperTypeOf(Type $type): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				equals(Type $type): bool
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				describe(VerbosityLevel $level): string
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				generalizeKeys(): self
	
	 
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				generalizeValues(): self
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getKeysArray(): self
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getValuesArray(): self
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isIterable(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isIterableAtLeastOnce(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getIterableKeyType(): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getIterableValueType(): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isArray(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isOversizedArray(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isString(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isNumericString(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isNonEmptyString(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isNonFalsyString(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isLiteralString(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isOffsetAccessible(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				hasOffsetValueType(Type $offsetType): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getOffsetValueType(Type $offsetType): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				setOffsetValueType(?Type $offsetType, Type $valueType, bool $unionValues = true): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				unsetOffset(Type $offsetType): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				isCallable(): TrinaryLogic
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getCallableParametersAcceptors(ClassMemberAccessAnswerer $scope): ParametersAcceptor[]
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				toNumber(): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				toString(): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				toInteger(): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				toFloat(): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				toArray(): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				count(): Type
	
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					static
					
				
			 | 
			
				castToArrayKeyType(Type $offsetType): Type
	
	 
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				inferTemplateTypes(Type $receivedType): TemplateTypeMap
	
		Infers template types
	 
	
	Infers template types 
Infers the real Type of the TemplateTypes found in $this, based on
the received Type. 
 
		Overriden by
		
		Implements
		
	 
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				getReferencedTemplateTypes(TemplateTypeVariance $positionVariance): array
	
		Returns the template types referenced by this Type, recursively
	 
	
	Returns the template types referenced by this Type, recursively 
The return value is a list of TemplateTypeReferences, who contain the
referenced template type as well as the variance position in which it was
found. 
For example, calling this on array<Foo<T>,Bar> (with T a template type)
will return one TemplateTypeReference for the type T. 
 
							Parameters
							
									
										| $positionVariance   | 
										The variance position in
which the receiver type was
found. 
 | 
									 
							 
		Overriden by
		
		Implements
		
	 
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				traverse(callable $cb): Type
	
		Traverses inner types
	 
	
	Traverses inner types 
Returns a new instance with all inner types mapped through $cb. Might
return the same instance if inner types did not change. 
 
		Overriden by
		
		Implements
		
	 
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					
					
				
			 | 
			
				tryRemove(Type $typeToRemove): ?Type
	
		Return the difference with another type, or null if it cannot be represented.
	 
	
	Return the difference with another type, or null if it cannot be represented. 
 
		Implements
		
	 
			 | 
		
			#
		 | 
	
	
			
				
					
	public
					static
					
				
			 | 
			
				__set_state(mixed[] $properties): Type
	
			 | 
		
			#
		 |