# TimeTimerBinding

`import { TimeTimerBinding } from "destack:time/binding";`

Timer binding family.

```ds title="TimeTimerBinding"
export interface TimeTimerBinding {
    openTimer(schedule: &'a readonly TimerSchedule): Result<TimerHandle, HostError>;
    closeTimer(timer: TimerHandle): Result<void, HostError>;
    armTimer(timer: TimerHandle, schedule: &'a readonly TimerSchedule): Result<void, HostError>;
    disarmTimer(timer: TimerHandle): Result<void, HostError>;
    readTimer(timer: TimerHandle): Result<uint64, HostError>;
}
```

[language/library/src/time/binding/timer.ds:45:90](https://github.com/destack-sh/destack/blob/main/language/library/src/time/binding/timer.ds#L45-L90)

## Members

### `openTimer(schedule: &'a readonly TimerSchedule): Result<TimerHandle, HostError>`

Open one timer resource.

### `closeTimer(timer: TimerHandle): Result<void, HostError>`

Close one timer resource.

### `armTimer(timer: TimerHandle, schedule: &'a readonly TimerSchedule): Result<void, HostError>`

Arm one timer with a new schedule.

### `disarmTimer(timer: TimerHandle): Result<void, HostError>`

Disarm one timer.

### `readTimer(timer: TimerHandle): Result<uint64, HostError>`

Read elapsed timer firings.
