| Methods | 
	
			| 
					
	public
					
					
				 | __construct() | # | 
	
			| 
					
	public
					
					
				 | getReferencedClasses(): array | # | 
	
			| 
					
	public
					
					
				 | getObjectClassNames(): array | # | 
	
			| 
					
	public
					
					
				 | getObjectClassReflections(): array | # | 
	
			| 
					
	public
					
					
				 | getConstantStrings(): array | # | 
	
			| 
					
	public
					
					
				 | accepts(Type $type, bool $strictTypes): AcceptsResult | # | 
	
			| 
					
	public
					
					
				 | isSuperTypeOf(Type $type): IsSuperTypeOfResult | # | 
	
			| 
					
	public
					
					
				 | equals(Type $type): bool | # | 
	
			| 
					
	public
					
					
				 | describe(VerbosityLevel $level): string | # | 
	
			| 
					
	public
					
					
				 | toNumber(): Type | # | 
	
			| 
					
	public
					
					
				 | toAbsoluteNumber(): Type | # | 
	
			| 
					
	public
					
					
				 | toFloat(): Type | # | 
	
			| 
					
	public
					
					
				 | toInteger(): Type | # | 
	
			| 
					
	public
					
					
				 | toString(): Type | # | 
	
			| 
					
	public
					
					
				 | toArray(): Type | # | 
	
			| 
					
	public
					
					
				 | toArrayKey(): Type | # | 
	
			| 
					
	public
					
					
				 | toCoercedArgumentType(bool $strictTypes): Type
		Tells how a type might change when passed to an argument
or assigned to a typed property. Example: int is accepted by int|float with strict_types = 1
Stringable is accepted by string|Stringable even without strict_types. 
	Tells how a type might change when passed to an argument
or assigned to a typed property. Example: int is accepted by int|float with strict_types = 1
Stringable is accepted by string|Stringable even without strict_types.Implements | # | 
	
			| 
					
	public
					
					
				 | isOffsetAccessLegal(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isNull(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isConstantValue(): TrinaryLogic
		Is Type of a known constant value? Includes literal strings, integers, floats, true, false, null, and array shapes. 
	Is Type of a known constant value? Includes literal strings, integers, floats, true, false, null, and array shapes.Implements | # | 
	
			| 
					
	public
					
					
				 | isConstantScalarValue(): TrinaryLogic
		Is Type of a known constant scalar value? Includes literal strings, integers, floats, true, false, and null. 
	Is Type of a known constant scalar value? Includes literal strings, integers, floats, true, false, and null.Implements | # | 
	
			| 
					
	public
					
					
				 | getConstantScalarTypes(): array | # | 
	
			| 
					
	public
					
					
				 | getConstantScalarValues(): array | # | 
	
			| 
					
	public
					
					
				 | isTrue(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isFalse(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isBoolean(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isFloat(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isInteger(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isString(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isNumericString(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isNonEmptyString(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isNonFalsyString(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isLiteralString(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isLowercaseString(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isClassString(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isUppercaseString(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | getClassStringObjectType(): Type
		Returns object type Foo for class-string<Foo> and 'Foo' (if Foo is a valid class). 
	Returns object type Foo for class-string<Foo> and 'Foo' (if Foo is a valid class).Implements | # | 
	
			| 
					
	public
					
					
				 | getObjectTypeOrClassStringObjectType(): Type
		Returns object type Foo for class-string<Foo>, 'Foo' (if Foo is a valid class),
and object type Foo. 
	Returns object type Foo for class-string<Foo>, 'Foo' (if Foo is a valid class),
and object type Foo.Implements | # | 
	
			| 
					
	public
					
					
				 | isVoid(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | isScalar(): TrinaryLogic | # | 
	
			| 
					
	public
					
					
				 | looseCompare(Type $type, PhpVersion $phpVersion): BooleanType | # | 
	
			| 
					
	public
					
					
				 | traverse(callable $cb): Type
		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. 
	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.Implements | # | 
	
			| 
					
	public
					
					
				 | traverseSimultaneously(Type $right, callable $cb): Type
		Traverses inner types while keeping the same context in another type. 
	Traverses inner types while keeping the same context in another type.Implements | # | 
	
			| 
					
	public
					
					
				 | exponentiate(Type $exponent): Type | # | 
	
			| 
					
	public
					
					
				 | toPhpDocNode(): TypeNode | # | 
	
			| 
					
	public
					
					
				 | getFiniteTypes(): array
		Returns a list of finite values. Examples: - for bool: [true, false] 
for int<0, 3>: [0, 1, 2, 3]for enums: list of enum casesfor scalars: the scalar itself For infinite types it returns an empty array. 
	Returns a list of finite values. Examples: - for bool: [true, false] 
for int<0, 3>: [0, 1, 2, 3]for enums: list of enum casesfor scalars: the scalar itself For infinite types it returns an empty array.Implements | # |