import { Canvas2DRendererBase } from './base/canvas-2d-renderer';
import { Renderer, MatrixRenderDataSpecification } from '../../types';

/**
 * A falling-character visual effect inspired by the Matrix.
 *
 * This renderer creates animated vertical columns of glowing characters that fall
 * at different speeds and randomness, using a 2D canvas buffer.
 */
export declare class MatrixRenderer extends Canvas2DRendererBase implements Renderer {
    /** Tracks the Y position of the falling highlight in each column */
    private columns;
    /** Probability that a column will advance during an update */
    private fallChance;
    /** Vertical step size (in pixels) for falling columns */
    private speed;
    /** Base color for the matrix rain effect */
    private baseColor;
    /** Calculated colors for different trail positions */
    private trailColors;
    /**
     * Constructs a Matrix-style renderer.
     *
     * @param data - Matrix renderer configuration
     */
    constructor(data?: MatrixRenderDataSpecification);
    /**
     * Calculates the trail colors based on the base color.
     * Creates a gradient from bright to dim for the trailing effect.
     */
    private calculateTrailColors;
    /**
     * Resets all column positions and timing state.
     */
    reset(): void;
    /**
     * Renders the next frame of the animation into the internal canvas buffer.
     *
     * @param width - Width of the canvas in pixels
     * @param height - Height of the canvas in pixels
     */
    renderFrame(width: number, height: number): void;
}
//# sourceMappingURL=matrix-renderer.d.ts.map