1# @arkts.lang (ArkTS Base Capability) 2 3The module provides the basic type definition of ArkTS. Currently, the **ISendable** interface is provided. 4 5> **NOTE** 6> 7> The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8> 9> This module can be imported only to ArkTS files (with the file name extension .ets). 10 11## Modules to Import 12 13```ts 14import { lang } from '@kit.ArkTS'; 15``` 16 17## lang.ISendable 18Parent type of all sendable types except null and undefined. It does not have any necessary methods or properties. 19 20An **ISendable** object is an instance of the Object type in ArkTS. 21 22**ISendable** is mainly used when you want to customize the sendable data structure. Container types in the ArkTS common library implicitly inherit and implement **ISendable**. 23 24**Example** 25 26```ts 27// Construct a custom sendable data structure. 28@Sendable 29class CustomData implements lang.ISendable { 30 data1: number; 31 data2: string; 32 constructor(data1: number, data2: string) { 33 this.data1 = data1; 34 this.data2 = data2; 35 } 36} 37``` 38