/** @packageDocumentation
 * @module Effects
 */
import { ScreenSpaceEffectBuilder } from "@itwin/core-frontend";
import { AddEffectTool } from "./EffectTools";
/** Adds one of a collection of "convolution kernels" that alter a [Viewport]($frontend)'s image by blending neighboring pixels.
 * Based on https://webglfundamentals.org/webgl/lessons/webgl-image-processing-continued.html
 * @beta
 */
export declare abstract class ConvolutionEffect extends AddEffectTool {
    static get minArgs(): number;
    static get maxArgs(): number;
    protected abstract get matrix(): number[];
    protected get textureCoordFromPosition(): boolean;
    protected get source(): {
        vertex: string;
        fragment: string;
    };
    protected defineEffect(builder: ScreenSpaceEffectBuilder): void;
}
/** Adds a gaussian blur screen-space effect to the selected Viewport.
 * @beta
 */
export declare class GaussianBlurEffect extends ConvolutionEffect {
    static toolId: string;
    protected get effectName(): string;
    protected get matrix(): number[];
}
/** Adds a screen-space unsharpen effect to the selected Viewport.
 * @beta
 */
export declare class UnsharpenEffect extends ConvolutionEffect {
    static toolId: string;
    protected get effectName(): string;
    protected get matrix(): number[];
}
/** Adds a screen-space emboss effect to the selected Viewport.
 * @beta
 */
export declare class EmbossEffect extends ConvolutionEffect {
    static toolId: string;
    protected get effectName(): string;
    protected get matrix(): number[];
}
/** Adds a screen-space sharpen effect to the selected Viewport.
 * @beta
 */
export declare class SharpenEffect extends ConvolutionEffect {
    static toolId: string;
    protected get effectName(): string;
    protected get matrix(): number[];
}
/** Adds a screen-space sharpness effect to the selected Viewport.
 * @beta
 */
export declare class SharpnessEffect extends ConvolutionEffect {
    static toolId: string;
    protected get effectName(): string;
    protected get matrix(): number[];
}
/** Adds a screen-space edge-detection effect to the selected Viewport.
 * @beta
 */
export declare class EdgeDetectionEffect extends ConvolutionEffect {
    static toolId: string;
    protected get effectName(): string;
    protected get matrix(): number[];
}
//# sourceMappingURL=Convolution.d.ts.map