# useTimer API

> Auto-generated API reference for `useTimer` from @vuetify/v0 (Vuetify0).
> Source of truth: https://0.vuetifyjs.com/api/use-timer

## Related

- https://0.vuetifyjs.com/composables/system/use-timer
- https://0.vuetifyjs.com/composables/system/use-raf
- https://0.vuetifyjs.com/composables/registration/create-queue

## Functions

### useTimer

Creates a reactive timer with pause/resume support.

```ts
(handler: () => void, options?: TimerOptions) => TimerContext
```

## Options

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `duration` | `MaybeRefOrGetter<number> \| undefined` | `1000` | no | Duration in milliseconds. Accepts a plain number, ref, or getter — the value is read fresh each time `start()` is invoked, so reactive sources can change between runs without recreating the timer. |
| `repeat` | `boolean \| undefined` | `false` | no | Whether the timer repeats after firing. |

## Methods

| Name | Type | Description |
|---|---|---|
| `start` | `() => void` | Start the timer. Restarts if already running. |
| `stop` | `() => void` | Stop the timer and reset remaining to full duration. |
| `pause` | `() => void` | Pause the timer, preserving remaining time. No-op if not running. |
| `resume` | `() => void` | Resume from where pause left off. No-op if not paused. |

## Properties

| Name | Type | Description |
|---|---|---|
| `remaining` | `ShallowRef<number>` | Milliseconds left until next fire. |
| `isActive` | `ShallowRef<boolean>` | Whether the timer is currently active (started and not stopped). |
| `isPaused` | `ShallowRef<boolean>` | Whether the timer is currently paused. |
