Introduction

This guide is designed to teach you how to write a high-quality TypeScript Declaration File.

We assume basic familiarity with the TypeScript language. If you haven’t already, you should read the TypeScript Handbook to familiarize yourself with basic concepts, especially types and namespaces.

Sections

The guide is broken down into the following sections.

Library Structures

The Library Structures guide helps you understand common library formats and how to write a proper declaration file for each format. If you’re editing an existing file, you probably don’t need to read this section. Authors of new declaration files are strongly encouraged to read this section to properly understand how the format of the library influences the writing of the declaration file.

By Example

We are often faced with writing a declaration file when we only have examples of the underlying library to guide us. The By Example section shows many common API patterns and how to write declarations for each of them. This guide is aimed at the TypeScript novice who may not yet be familiar with every language construct in TypeScript.

“Do”s and “Don’t”s

Many common mistakes in declaration files can be easily avoided. The Do’s and Don’ts section identifies common errors, describes how to detect them, and how to fix them. Everyone should read this section to help themselves avoid common mistakes.

Deep Dive

For seasoned authors interested in the underlying mechanics of how declaration files work, the Deep Dive section explains many advanced concepts in declaration writing, and shows how to leverage these concepts to create cleaner and more intuitive declaration files.

Templates

In Templates you’ll find a number of declaration files that serve as a useful starting point when writing a new file. Refer to the documentation in Library Structures to figure out which template file to use.

Publish to npm

The Publishing section explains how to publish your declaration files to an npm package, and shows how to manage your dependent packages.

Find and Install Declaration Files

For JavaScript library users, the Consumption section offers a few simple steps to locate and install corresponding declaration files.

The TypeScript docs are an open source project. Help us improve these pages by sending a Pull Request

Contributors to this page:
MHMohamed Hegazy  (61)
OTOrta Therox  (9)
EBEli Barzilay  (1)
ACAndrew Casey  (1)
CRCrhistian Ramirez  (1)
8+

Last updated: Jul 18, 2020