import { PerspectiveCamera } from 'three';
import type { IProjection } from './IProjection.js';
import { ProjectionPlane, type ProjectionPlaneDescription } from './ProjectionPlane.js';
import { type FitIntoRectangleSpecs } from './fitIntoRectangle.js';
export type ParallaxProjectionSpecs = FitIntoRectangleSpecs & {
    distanceToProjectionPlane?: number;
    near?: number;
    far?: number;
};
export declare class ParallaxProjection implements IProjection {
    #private;
    viewSpecs: Partial<ParallaxProjectionSpecs>;
    projectionPlane: ProjectionPlane;
    constructor(projectionPlane?: ProjectionPlane | ProjectionPlaneDescription, specs?: ParallaxProjectionSpecs);
    updateViewRect(width: number, height: number): void;
    getViewRect(): [width: number, height: number, pixelRatioHorizontal: number, pixelRatioVertical: number];
    createCamera(): PerspectiveCamera;
    updateCamera(camera: PerspectiveCamera): void;
    getZoom(distanceToProjectionPlane: number): number;
}
//# sourceMappingURL=ParallaxProjection.d.ts.map