import { TypedPostNode, TypedPostNodeContext } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { EffectPass } from 'postprocessing';
import { MenuNumericParamOptions } from '../../params/utils/OptionsController';
export declare const GLITCH_MODE_MENU_OPTIONS: MenuNumericParamOptions;
declare class GlitchPostParamsConfig extends NodeParamsConfig {
    texture: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
    /** @param mode */
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    minDelay: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    maxDelay: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    minDuration: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    maxDuration: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    minStrength: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    maxStrength: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param columns */
    columns: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param ratio */
    ratio: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param blend function */
    blendFunction: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param if true, the offset parameter will be updated on each render to reflect the intensity of the glitch. This can be used to drive other effects with it */
    updateOffset: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    offset: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR2>;
}
export declare class GlitchPostNode extends TypedPostNode<EffectPass, GlitchPostParamsConfig> {
    paramsConfig: GlitchPostParamsConfig;
    static type(): string;
    private _rendererSize;
    createPass(context: TypedPostNodeContext): EffectPass;
    updatePass(pass: EffectPass): Promise<void>;
    private _fetchTexture;
    private _lastEffect;
    private _lastViewer;
    private _offsetArray;
    private _onTickCallbackName;
    private _updateOnTickCallback;
    private _onRenderBound;
    private _onRender;
}
export {};
