self::T_INTEGER, 'integer' => self::T_INTEGER, 'float' => self::T_FLOAT, 'double' => self::T_FLOAT, 'real' => self::T_FLOAT, 'numeric' => self::T_FLOAT, 'datetime' => self::T_DATETIME, 'timestamp' => self::T_DATETIME, 'blob' => self::T_BINARY, 'bin' => self::T_BINARY, 'binary' => self::T_BINARY, 'text' => self::T_STRING, 'string' => self::T_STRING, 'str' => self::T_STRING, 'bool' => self::T_BOOLEAN, 'boolean' => self::T_BOOLEAN, 'bit' => self::T_BOOLEAN, 'strict int' => self::T_NOT_NULL + self::T_INTEGER, 'strict integer' => self::T_NOT_NULL + self::T_INTEGER, 'strict float' => self::T_NOT_NULL + self::T_FLOAT, 'strict double' => self::T_NOT_NULL + self::T_FLOAT, 'strict real' => self::T_NOT_NULL + self::T_FLOAT, 'strict numeric' => self::T_NOT_NULL + self::T_FLOAT, 'strict datetime' => self::T_NOT_NULL + self::T_DATETIME, 'strict timestamp' => self::T_NOT_NULL + self::T_DATETIME, 'strict blob' => self::T_NOT_NULL + self::T_BINARY, 'strict bin' => self::T_NOT_NULL + self::T_BINARY, 'strict binary' => self::T_NOT_NULL + self::T_BINARY, 'strict text' => self::T_NOT_NULL + self::T_STRING, 'strict string' => self::T_NOT_NULL + self::T_STRING, 'strict str' => self::T_NOT_NULL + self::T_STRING, 'strict bool' => self::T_NOT_NULL + self::T_BOOLEAN, 'strict boolean' => self::T_NOT_NULL + self::T_BOOLEAN, 'strict bit' => self::T_NOT_NULL + self::T_BOOLEAN, ]; public const T_INTEGER = 1; public const T_STRING = 2; public const T_BOOLEAN = 3; public const T_DATETIME = 4; public const T_FLOAT = 5; public const T_BINARY = 6; public const T_NOT_NULL = 100; public function run(...$values): Result; public function runArray(array $values = []): Result; public function retype(...$bindings): bool; public function retypeArray(array $bindings): bool; }