import type { DepthOfFieldEffect } from "postprocessing";
import { PostProcessingEffect } from "../PostProcessingEffect.js";
import { VolumeParameter } from "../VolumeParameter.js";
export declare enum DepthOfFieldMode {
    Off = 0,
    Gaussian = 1,
    Bokeh = 2
}
/**
 * @category Effects
 * @group Components
 */
export declare class DepthOfField extends PostProcessingEffect {
    get typeName(): string;
    mode: DepthOfFieldMode;
    readonly focusDistance: VolumeParameter;
    readonly focalLength: VolumeParameter;
    readonly aperture: VolumeParameter;
    readonly gaussianMaxRadius: VolumeParameter;
    readonly resolutionScale: VolumeParameter;
    readonly bokehScale: VolumeParameter;
    init(): void;
    onCreateEffect(): DepthOfFieldEffect[] | undefined;
    unapply(): void;
}
