dynamic languages does not have any type system (by default). (a variable may store any kind of value.
To overcome this situation, developers create definition files that defines a library in terms of class, function and type signature.
These files are then used by IDE for code completion, code analysis.