/** @license MIT License (c) copyright 2010-2017 original author or authors */
/// <reference types="node" />
import { DeferrableTask } from './task';
import { Clock, Time, Timer } from '@most/types';
export default class ClockTimer implements Timer {
    private _clock;
    constructor(clock: Clock);
    now(): Time;
    setTimer<A>(f: () => A, dt: Time): NodeJS.Timeout | Asap<A>;
    clearTimer<A>(t: number | Asap<A>): void;
}
declare class Asap<A> implements DeferrableTask<never, A | undefined> {
    private readonly f;
    /**
     * @mutable
     */
    active: boolean;
    constructor(f: () => A);
    run(): A | undefined;
    error(e: Error): never;
    cancel(): void;
}
export {};
