import { TwinfinityCameraBehavior } from '../camera/TwinfinityCameraBehavior';
import { Camera } from '../loader/babylonjs-import';
/**
 * This class sets up the postprocess pipeline for achieving the SSAO effect
 * First, the current screen is written to a buffer (screenBlit)
 * Secondly, SSAO for the current screen is calculated using the depth buffer
 * Thirdly, the contents of the SSAO post process, which is what is currently bound to the screen is blurred first horizontally and then the blurred result is further blurred vertically
 * Lastly the SSAO buffer is used to darken the color of the screen buffer
 */
export declare class SSAOPipeline implements TwinfinityCameraBehavior {
    private _ssaoCalculator;
    private _ssaoApplier;
    private _horizontalBlur;
    private _verticalBlur;
    private _screenBlit;
    attach(camera: Camera): boolean;
    detach(camera: Camera): boolean;
    private _settings;
    constructor(samplesCount: number | undefined, strength: number | undefined, blurSize: number | undefined, radius: number | undefined, renderScale: number | undefined);
    set strength(strength: number);
    get strength(): number;
    set samplesCount(samples: number);
    get samplesCount(): number;
}
//# sourceMappingURL=SSAOPipeline.d.ts.map