/**
 * Burn Effect
 * Characters are ignited and burn up the screen
 */
import { BaseEffect } from "../types.js";
/**
 * Configuration options for the Burn effect
 */
export interface BurnEffectOptions {
    /** Duration in milliseconds */
    duration?: number;
    /** Starting color before burning */
    startingColor?: string;
    /** Colors to transition through while burning */
    burnColors?: string[];
    /** Speed of the burn spread (characters per frame) */
    burnSpeed?: number;
    /** Delay between burn waves */
    burnDelay?: number;
    /** Randomness factor for burn timing */
    burnRandomness?: number;
}
/**
 * Burn effect implementation
 */
export declare class BurnEffect extends BaseEffect {
    readonly name = "Burn";
    readonly description = "Characters are ignited and burn up the screen";
    private options;
    private characterStates;
    private burnFront;
    private animationFrameCount;
    private totalFrames;
    private burnPhaseDuration;
    private _isEffectComplete;
    constructor(options?: BurnEffectOptions);
    /**
     * Initialize the effect
     */
    protected onInitialize(): void;
    /**
     * Render the next frame
     */
    render(): Promise<string[]>;
    /**
     * Update burn state for all characters
     */
    private updateBurnState;
    /**
     * Create visual representation of a character
     */
    private createCharacterVisual;
    /**
     * Get ANSI color code for a color
     */
    private getColorCode;
    /**
     * Interpolate between two colors
     */
    private interpolateColor;
    /**
     * Render fallback for when effects are disabled
     */
    renderFallback(): string[];
    /**
     * Check if effect is complete
     */
    isComplete(): boolean;
    /**
     * Reset the effect
     */
    protected onReset(): void;
}
//# sourceMappingURL=burn.d.ts.map