import { Effect, EffectComposer, GodRaysManager, OutlineManager, RenderingEngine as RenderingEngineThreeJs, SelectiveBloomManager } from "@shapediver/viewer.rendering-engine.rendering-engine-threejs";
import { ANTI_ALIASING_TECHNIQUE, type IPostProcessingEffectDefinition, type IPostProcessingEffectsArray, POST_PROCESSING_EFFECT_TYPE } from "@shapediver/viewer.shared.types";
import { type IPostProcessingApi } from "../interfaces/IPostProcessingApi";
import { type IViewportApi } from "../interfaces/IViewportApi";
export declare class PostProcessingApi implements IPostProcessingApi {
    #private;
    constructor(viewportApi: IViewportApi, renderingEngine: RenderingEngineThreeJs);
    get antiAliasingTechnique(): ANTI_ALIASING_TECHNIQUE;
    set antiAliasingTechnique(value: ANTI_ALIASING_TECHNIQUE);
    get antiAliasingTechniqueMobile(): ANTI_ALIASING_TECHNIQUE;
    set antiAliasingTechniqueMobile(value: ANTI_ALIASING_TECHNIQUE);
    get effectComposer(): EffectComposer | undefined;
    get enablePostProcessingOnMobile(): boolean;
    set enablePostProcessingOnMobile(value: boolean);
    get godRaysEffects(): {
        [key: string]: GodRaysManager;
    };
    get manualPostProcessing(): boolean;
    set manualPostProcessing(value: boolean);
    get outlineEffects(): {
        [key: string]: OutlineManager;
    };
    get selectiveBloomEffects(): {
        [key: string]: SelectiveBloomManager;
    };
    get ssaaSampleLevel(): number;
    set ssaaSampleLevel(value: number);
    addEffect(definition: IPostProcessingEffectDefinition, token?: string): string;
    getDefaultEffectProperties(type: POST_PROCESSING_EFFECT_TYPE): unknown;
    getEffect(token: string): Effect;
    getEffectTokens(): {
        [key: string]: POST_PROCESSING_EFFECT_TYPE;
    };
    getPostProcessingEffectsArray(): IPostProcessingEffectsArray;
    removeEffect(token: string): boolean;
    updateEffect(token: string, definition: IPostProcessingEffectDefinition): void;
}
//# sourceMappingURL=PostProcessingApi.d.ts.map