feat(ts): add TypeScript descriptor