import { WebGLRenderer } from 'three';
import { Root } from './root.js';
import { FullscreenProperties } from '../components/index.js';
import { AllOptionalProperties } from '../properties/index.js';
import { FontFamilies } from '../text/index.js';
import { ThreeEventMap } from '../events.js';
export declare class Fullscreen<T = {}, EM extends ThreeEventMap = ThreeEventMap> extends Root<T, EM> {
    private renderer;
    private distanceToCamera?;
    private parentCameraSignal;
    private readonly sizeX;
    private readonly sizeY;
    private readonly pixelSize;
    private readonly transformTranslateZ;
    constructor(renderer: WebGLRenderer, distanceToCamera?: number | undefined, properties?: FullscreenProperties<EM>, defaultProperties?: AllOptionalProperties, fontFamilies?: FontFamilies, requestRender?: () => void);
    /**
     * must be called when camera.fov, camera.top, camera.bottom, camera.right, camera.left, camera.zoom, camera.aspect changes
     */
    update(): void;
    getStyle(): undefined | Readonly<FullscreenProperties<EM>>;
    setStyle(style: FullscreenProperties<EM> | undefined, replace?: boolean): void;
    setProperties(properties: FullscreenProperties<EM> | undefined): void;
}
