The information you want is in the RDB$PROCEDURE_PARAMETERS
table, basically what you need is query
SELECT r.RDB$PARAMETER_NAME ParName, F.RDB$FIELD_TYPE ParType
FROM RDB$PROCEDURE_PARAMETERS r
JOIN RDB$FIELDS F ON(F.RDB$FIELD_NAME = R.RDB$FIELD_SOURCE)
WHERE r.RDB$PROCEDURE_NAME = 'QRESULT'
AND r.RDB$PARAMETER_TYPE = 1
ORDER BY r.RDB$PARAMETER_TYPE, r.RDB$PARAMETER_NUMBER
Note that the SP name should be in upper case as this is how it is stored into system tables (unless you use quoted identifiers). If you want to get both input and output parameters the delete the r.RDB$PARAMETER_TYPE = 1
predicate from the WHERE
(type 0 is input parameters and 1 is output).
The type returned by this query is integer id for the type, quick googling found this:
14,"TEXT " 7,"SHORT " 8,"LONG " 9,"QUAD " 10,"FLOAT " 27,"DOUBLE " 35,"TIMESTAMP " 37,"VARYING " 261,"BLOB " 40,"CSTRING " 45,"BLOB_ID " 12,"DATE " 13,"TIME " 16,"INT64 "
but if you want to have more precise type then see this SO post.