import { Renderer, RenderableDef, SceneDef, CameraState, RendererOptions } from "@expofp/renderer";
import { HandlerRegistry, Disposer, PtScaleHandler, RollHandler, LayerImagesHandler } from "./HandlerRegistry";
import { CustomFonts } from "./index";
export declare class RendererService {
    private _renderer;
    private _scene;
    private _fontUrls;
    private requestRepaint;
    private currentPtScale;
    private rendererEventsCleanup;
    readonly ptScaleRegistry: HandlerRegistry<PtScaleHandler>;
    readonly rollRegistry: HandlerRegistry<RollHandler>;
    readonly layerImagesRegistry: HandlerRegistry<LayerImagesHandler>;
    get renderer(): Renderer | null;
    get scene(): SceneDef | null;
    get fontUrls(): CustomFonts[];
    getCameraState(): CameraState | undefined;
    get scale(): number;
    get angle(): number;
    create(options: RendererOptions): Renderer;
    start(scene: SceneDef): void;
    attach(renderer: Renderer, scene: SceneDef, requestRepaint?: () => void): void;
    dispose(): void;
    disposeIfCurrent(renderer: Renderer | null): void;
    onPtScale(name: string, handler: PtScaleHandler): Disposer;
    onRoll(name: string, handler: RollHandler): Disposer;
    onLayerImages(name: string, handler: LayerImagesHandler): Disposer;
    update(...defs: RenderableDef[]): void;
    private setupEventListeners;
}
//# sourceMappingURL=RendererService.d.ts.map