docs/pages/docs/api/types.mdx
---
title: Types
description: Typescript types included with IdleTimer package
---
IdleTimer exports its internal types for working in Typescript projects. All the types you will need are outlined below. Examples of how to use them can be found in the [hook](/docs/api/use-idle-timer) and [higher order component](/docs/api/with-idle-timer) docs.
## IIdleTimerProps
This is the interface of the available properties IdleTimer accepts.
```js
import type { IIdleTimerProps } from 'react-idle-timer'
```
<ButtonGroup>
<Button as='a' href='/docs/api/props'>Docs</Button>
<Button as='a' href='https://github.com/supremetechnopriest/react-idle-timer/blob/master/src/types/IIdleTimerProps.ts'>Source</Button>
</ButtonGroup>
## IIdleTimer
This is the interface that IdleTimer exports. It consists of the methods that can be called after instantiating an IdleTimer instance.
```js
import type { IIdleTimer } from 'react-idle-timer'
```
<ButtonGroup>
<Button href='/docs/api/methods'>Docs</Button>
<Button href='https://github.com/supremetechnopriest/react-idle-timer/blob/master/src/types/IIdleTimer.ts'>Source</Button>
</ButtonGroup>
## ITimers
The interface that is accepted by the `timers` property.
```js
import type { ITimers } from 'react-idle-timer'
```
<ButtonGroup>
<Button href='/docs/api/props#timers'>Docs</Button>
<Button href='https://github.com/supremetechnopriest/react-idle-timer/blob/master/src/types/ITimers.ts'>Source</Button>
</ButtonGroup>
## EventsType
The events type contains all the valid DOM Event values that can be passed to `events` and `immediateEvents`.
```js
import type { EventsType } from 'react-idle-timer'
```
<ButtonGroup>
<Button href='https://github.com/supremetechnopriest/react-idle-timer/blob/master/src/types/EventsType.ts'>Source</Button>
</ButtonGroup>
## MessageType
The type for messages sent through the `message()` method.
<ButtonGroup>
<Button href='/docs/api/methods#message'>Docs</Button>
<Button href='https://github.com/supremetechnopriest/react-idle-timer/blob/master/src/types/MessageType.ts'>Source</Button>
</ButtonGroup>
## PresenceType
The type for `onPresenceChange` state changes.
<ButtonGroup>
<Button href='/docs/api/props#onPresenceChange'>Docs</Button>
<Button href='https://github.com/supremetechnopriest/react-idle-timer/blob/master/src/types/PresenceType.ts'>Source</Button>
</ButtonGroup>