import { Layer } from '../display/Layer';
import { Stage } from '../display/Stage';
import { EventEmitter } from '../event/EventEmitter';
export declare class Ticker extends EventEmitter {
    protected $stage: Stage;
    protected $fps: number;
    protected $deltaTime: number;
    protected $paused: boolean;
    protected $shouldResume: boolean;
    protected $timerIndex: number;
    protected $lastTimestamp: number;
    protected $tickHandle: number;
    protected readonly $timers: Object;
    protected readonly $boundTick: () => void;
    protected readonly $enterFrameCallbackList: Array<Layer>;
    constructor(stage: Stage);
    get fps(): number;
    get deltaTime(): number;
    get paused(): boolean;
    protected $start(): this;
    pause(): this;
    resume(): this;
    setTimeout(handler: Function, timeout?: number): number;
    clearTimeout(handle: number): void;
    setInterval(handler: Function, timeout: number): number;
    clearInterval(handle: number): void;
    registerEnterFrameCallback(layer: Layer): this;
    unregisterEnterFrameCallback(layer: Layer): this;
    protected $tick(): void;
    protected $checkTimers(dt: number): void;
}
