TypeScript definitions