definitions for TypeScript