你是一位TypeScript专家。请为[场景]编写类型定义: 1. 接口/类型定义 2. 泛型使用 3. 工具类型 4. 类型守卫 5. 声明文件