import { ShaderPass } from 'three/addons/postprocessing/ShaderPass.js';
import { RetroPassParameters } from '../models/RetroPassParameters';
import * as THREE from 'three';
/**
 * Post-processing pass for applying a retro-style effect with color quantization and dithering
 */
export declare class RetroPass extends ShaderPass {
    #private;
    protected size: THREE.Vector2;
    /**
     * Creates a new RetroPass instance
     * @param parameters - Configuration parameters for the retro effect
     */
    constructor({ colorCount, colorPalette, dithering, ditheringOffset, autoDitheringOffset, pixelRatio, resolution, autoResolution, }?: RetroPassParameters);
    /**
     * Pixel resolution to use
     */
    get resolution(): THREE.Vector2;
    set resolution(value: THREE.Vector2);
    /**
     * Whether to automatically update the resolution based on the specified pixelRatio
     */
    get autoResolution(): boolean;
    set autoResolution(value: boolean);
    /**
     * Pixel ratio to use if autoResolution is true, typically 0.0-1.0 (optional)
     */
    get pixelRatio(): number;
    set pixelRatio(value: number);
    /**
     * The number of colors in the palette
     */
    get colorCount(): number;
    set colorCount(value: number);
    /**
     * The current color palette
     */
    get colorPalette(): THREE.Color[];
    set colorPalette(colors: THREE.Color[]);
    /**
     * Whether or not to apply dithering
     */
    get dithering(): boolean;
    set dithering(value: boolean);
    /**
     * The amount of dithering to apply, typically 0.0 to 1.0
     */
    get ditheringOffset(): number;
    set ditheringOffset(value: number);
    /**
     * Whether to automatically update the dithering offset based on the color count
     */
    get autoDitheringOffset(): boolean;
    set autoDitheringOffset(value: boolean);
    /**
     * Using quantization for larger colour palettes massively improves performance,
     * but only supports palettes ordered as a uniform RGB cube and not custom color palettes.
     *
     * If you want to use a custom color palette over 64 colors, you must set this to false
     *
     * @deprecated  This is now set automatically based on the color palette
     * @default true
     */
    get quantizeEnabled(): boolean;
    set quantizeEnabled(value: boolean);
    /**
     * Set the pixel resolution to use (used by EffectComposer)
     * @see {@link RetroPass.resolution}
     */
    setSize(width: number, height: number): void;
    /**
     * Updates the resolution based on the current pixel ratio and size
     */
    protected updateResolution(): void;
    /**
     * Updates the dithering offset based on the current color count
     */
    protected updateDitheringOffset(): void;
    protected setColorPalette(colors: THREE.Color[]): void;
}
