# API glossary

Source: https://libtmux.org/en/ts/latest/reference/glossary/

> Kinds, modifiers and package labels in the TypeScript API reference.

## Symbol kinds

Kinds identify declarations in the TypeScript API reference.

### class

A TypeScript class declaring a runtime constructor and members, with a corresponding instance type.

References: [TypeScript classes](https://www.typescriptlang.org/docs/handbook/2/classes.html).

### interface

A TypeScript type describing a structural contract. It does not create a runtime object or constructor.

References: [TypeScript interfaces](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#interfaces).

### function

A TypeScript callable with typed parameters and a return type.

References: [TypeScript functions](https://www.typescriptlang.org/docs/handbook/2/functions.html).

### method

A TypeScript function member declared on a class or object type.

References: [TypeScript methods](https://www.typescriptlang.org/docs/handbook/2/classes.html#methods).

### property

A TypeScript object member, including a stored field or an accessor.

Getters and setters can execute code; the type declaration alone does not promise storage.

References: [TypeScript fields](https://www.typescriptlang.org/docs/handbook/2/classes.html#fields); [TypeScript getters and setters](https://www.typescriptlang.org/docs/handbook/2/classes.html#getters--setters).

### attribute

A TypeScript field or declared object member in this reference.

References: [TypeScript fields](https://www.typescriptlang.org/docs/handbook/2/classes.html#fields).

### typealias

A TypeScript name for a type expression, including a union, object or function type.

It does not create a runtime constructor or a distinct nominal type.

References: [TypeScript type aliases](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#type-aliases).

## Modifiers

Modifiers add information about calling, implementing, or accessing a declaration. Their precise effect follows the language and the signature.

### static

A TypeScript member accessed on its class constructor rather than on an instance.

References: [TypeScript static members](https://www.typescriptlang.org/docs/handbook/2/classes.html#static-members).

### async

A TypeScript async function returning a Promise. Awaiting it can suspend its caller without implying a new thread.

References: [TypeScript async/await in ES6 targets](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-1-7.html#asyncawait-support-in-es6-targets-node-v4).

### readonly

A TypeScript member that cannot be assigned through that typed reference after its permitted initialization.

Referenced objects may still be mutable; readonly does not freeze them.

References: [TypeScript readonly fields](https://www.typescriptlang.org/docs/handbook/2/classes.html#readonly).

### overload

Multiple TypeScript call signatures describing accepted argument and result combinations.

A function implementation supplies one body; callers use its exposed overload signatures.

References: [TypeScript overloads](https://www.typescriptlang.org/docs/handbook/2/functions.html#function-overloads).

### private

A TypeScript member restricted to its declaring class.

The private keyword is checked by TypeScript; JavaScript #private fields also enforce privacy at runtime.

References: [TypeScript member visibility](https://www.typescriptlang.org/docs/handbook/2/classes.html#member-visibility).

## Package context

Package labels identify where an API is supplied.

### package

The npm package supplying this TypeScript API. Package identity and module import paths can differ.

References: [TypeScript modules and packages](https://www.typescriptlang.org/docs/handbook/modules/reference.html#node_modules-package-lookups).
