/// <reference types="node" />
import { SdlWindow } from '../sdl-window/sdl-window';
import EventEmitter = require('events');
import { ApplicationFrameManager } from './application-frame-manager';
export declare class ApplicationContext extends EventEmitter implements ApplicationFrameManager {
    private windows;
    constructor();
    initEventWatcher(): void;
    emitToWindows(event: any): void;
    initEvents(): void;
    renderFrame(ms: number): void;
    cancelAnimationFrame(request: number): void;
    requestAnimationFrame(callback: FrameRequestCallback): number;
    startRenderingFrames(): void;
    private startRenderingFramesUsingInterval;
    private startRenderingFramesUsingTimeouts;
    getWindows(): {
        [id: number]: SdlWindow;
    };
    registerWindow(window: SdlWindow): void;
    quit(): void;
    exit(exitCode?: number): void;
}
export declare const applicationContext: ApplicationContext;
