/** @packageDocumentation
 * @module Effects
 */
import { ScreenSpaceEffectBuilder, Tool } from "@itwin/core-frontend";
import { AddEffectTool } from "./EffectTools";
/** Adds a screen-space effect to the selected [[Viewport]] to simulate the lens distortion produced by real-world cameras with very wide fields of view.
 * Based on https://www.decarpentier.nl/lens-distortion
 * The effect is improved considerably by enabling anti-aliasing (e.g., via [RenderSystem.Options.antialiasSamples]($frontend) at startup, or using the `fdt aasamples` key-in`).
 * @note Because this effect applies a non-linear transform to each pixel, operations like snapping to geometry will not work properly. Element locate will work however - @see [ScreenSpaceEffectSource.sampleSourcePixel]($frontend).
 * @beta
 */
export declare class LensDistortionEffect extends AddEffectTool {
    static toolId: string;
    protected get effectName(): string;
    protected get textureCoordFromPosition(): boolean;
    protected get source(): {
        vertex: string;
        fragment: string;
        sampleSourcePixel: string;
    };
    protected defineEffect(builder: ScreenSpaceEffectBuilder): void;
}
/** Configures the [[LensDistortionEffect]].
 * @beta
 */
export declare class LensDistortionConfig extends Tool {
    static toolId: string;
    static get minArgs(): number;
    static get maxArgs(): number;
    static strength: number;
    static cylindricalRatio: number;
    run(strength?: number, ratio?: number): Promise<boolean>;
    parseAndRun(...input: string[]): Promise<boolean>;
}
//# sourceMappingURL=LensDistortion.d.ts.map