# Reference Overview

> Infinite Table Reference Overview

Canonical page: https://infinite-table.com/docs/reference/

The Reference pages contain API documentation on every prop exposed in the `InfiniteTable` component and the related `DataSource` component.

Go through the extensive list of props available on the `InfiniteTable` component.

See the full list of props available on the `DataSource` component.

## API objects

In addition, both those components expose an `API` object that can be used to imperatively interact with them. This is useful for very advanced use cases - as most of the time interacting with the component via its props declaratively will be enough.

Explore the `InfiniteTable` API which allows advanced interactions with the component, like scrolling to a specific cell, selecting rows and more.

Jump into the `DataSource` API, which allows advanced interactions with the data source, like editing & inserting data, fetching data, refreshing and more.

Read more about the Selection API and how you can use it to change row and group selection.

Find out more about the Column API and how you can use it to change column state.

Jump into the `Tree` API, which allows advanced interactions with the tree data source - collapse/expand nodes, node updates and more.

## Hooks

Infinite Table exposes a few custom hooks that can be used to customize the component and its behavior. Most of the hooks will be useful when you want to implement custom components for `InfiniteTable` - like custom cells, headers, cell editors, etc.

Custom hooks allow you to use the `InfiniteTable` at full potential and customize it to your needs.

## Type Definitions

Infinite Table exports quite a lot of TS type definitions. See the dedicated page for guides and explanations to help you use them effectively.

We export our type definitions in case you ever need them. In many cases, you won't need to import them explicitly, but you might find them useful in more advaced scenarios.
