import Matrix3D from "awayjs-core/lib/geom/Matrix3D";
import Plane3D from "awayjs-core/lib/geom/Plane3D";
import FreeMatrixProjection from "awayjs-core/lib/projections/FreeMatrixProjection";
import Scene from "../../display/Scene";
import IRenderer from "../../IRenderer";
import Camera from "../../display/Camera";
import ShadowMapperBase from "../../materials/shadowmappers/ShadowMapperBase";
import Single2DTexture from "../../textures/Single2DTexture";
declare class DirectionalShadowMapper extends ShadowMapperBase {
    _pOverallDepthCamera: Camera;
    _pLocalFrustum: Array<number>;
    _pLightOffset: number;
    _pMatrix: Matrix3D;
    _pOverallDepthProjection: FreeMatrixProjection;
    _pSnap: number;
    _pCullPlanes: Array<Plane3D>;
    _pMinZ: number;
    _pMaxZ: number;
    constructor();
    snap: number;
    lightOffset: number;
    readonly iDepthProjection: Matrix3D;
    readonly depth: number;
    iSetDepthMap(depthMap: Single2DTexture): void;
    pCreateDepthTexture(): Single2DTexture;
    pDrawDepthMap(scene: Scene, target: Single2DTexture, renderer: IRenderer): void;
    pUpdateCullPlanes(camera: Camera): void;
    pUpdateDepthProjection(camera: Camera): void;
    pUpdateProjectionFromFrustumCorners(camera: Camera, corners: Array<number>, matrix: Matrix3D): void;
}
export default DirectionalShadowMapper;
