import { EventEmitter } from '@visactor/vutils';
import type { IStage, ITickHandler, ITicker, ITimeline } from '@visactor/vrender-core';
import { STATUS } from '@visactor/vrender-core/event/constant';
import '@visactor/vrender-core/global';
export declare class DefaultTicker extends EventEmitter implements ITicker {
    protected interval: number;
    protected tickerHandler: ITickHandler;
    protected status: STATUS;
    protected lastFrameTime: number;
    protected tickCounts: number;
    protected stage: IStage;
    timelines: ITimeline[];
    autoStop: boolean;
    protected _jitter: number;
    protected timeOffset: number;
    _lastTickTime: number;
    protected frameTimeHistory: number[];
    constructor(stage?: IStage);
    bindStage(stage: IStage): void;
    computeTimeOffsetAndJitter(): void;
    init(): void;
    addTimeline(timeline: ITimeline): void;
    remTimeline(timeline: ITimeline): void;
    getTimelines(): ITimeline[];
    protected initHandler(force?: boolean): void;
    protected setupTickHandler(force?: boolean): boolean;
    setInterval(interval: number): void;
    getInterval(): number;
    setFPS(fps: number): void;
    getFPS(): number;
    tick(interval: number): void;
    tickTo(t: number): void;
    pause(): boolean;
    resume(): boolean;
    ifCanStop(): boolean;
    start(force?: boolean): boolean;
    stop(): void;
    trySyncTickStatus(): void;
    release(): void;
    protected checkSkip(delta: number): boolean;
    protected handleTick: (handler: ITickHandler, params?: {
        once?: boolean;
    }) => boolean;
    protected _handlerTick: (delta: number) => void;
    protected _handleGraphTick: () => void;
}
