import { Vector3, WebGLRenderTarget, Color, ShaderMaterial } from 'three';
import { FullScreenQuad, Pass } from 'three/examples/jsm/postprocessing/Pass.js';
import type { Scene, WebGLRenderer } from 'three';
import type { CircleOptions } from "./Type";
/**
 * @author huaqing / https://github.com/2912401452/
 */
declare class CircleSweepPass extends Pass {
    scene: Scene;
    camera: any;
    center: Vector3;
    innerRadius: number;
    outerRadius: number;
    fillType: number;
    fillColor: Color;
    depthTarget: WebGLRenderTarget;
    renderer: any;
    depthMaterial: ShaderMaterial;
    fsQuad: FullScreenQuad;
    topLeftVec: Vector3;
    topRightVec: Vector3;
    bottomLeftVec: Vector3;
    bottomRightVec: Vector3;
    width: number;
    height: number;
    constructor(renderer: WebGLRenderer, scene: Scene, camera: any, options: CircleOptions);
    render(renderer: any, writeBuffer: any, readBuffer: any, deltaTime: any, maskActive: any): void;
    calCameraVectors(): {
        topLeftVec: Vector3;
        topRightVec: Vector3;
        bottomLeftVec: Vector3;
        bottomRightVec: Vector3;
    };
    ang2rad(ang: any): number;
    getDepthMaterial(): ShaderMaterial;
    setSize(width: any, height: any): void;
    setCamera(camera: any): void;
}
export { CircleSweepPass };
