import { ANTI_ALIASING_TECHNIQUE, Effect, EffectComposer, IPostProcessingEffectDefinition, IPostProcessingEffectsArray, POST_PROCESSING_EFFECT_TYPE, RenderingEngine as RenderingEngineThreeJs } from "@shapediver/viewer.rendering-engine.rendering-engine-threejs";
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
import { IPostProcessingApi } from "../interfaces/IPostProcessingApi";
import { 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]: {
            setLightSource(node: ITreeNode): void;
            removeLightSource(): void;
        };
    };
    get manualPostProcessing(): boolean;
    set manualPostProcessing(value: boolean);
    get outlineEffects(): {
        [key: string]: {
            addSelection(node: ITreeNode): void;
            removeSelection(node: ITreeNode): boolean;
            clearSelection(): void;
        };
    };
    get selectiveBloomEffects(): {
        [key: string]: {
            addSelection(node: ITreeNode): void;
            removeSelection(node: ITreeNode): boolean;
            clearSelection(): void;
        };
    };
    get ssaaSampleLevel(): number;
    set ssaaSampleLevel(value: number);
    addEffect(definition: IPostProcessingEffectDefinition): 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