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

/**
 * Enhanced text renderer with scrolling capabilities.
 *
 * Features:
 * - Smooth scrolling in any direction
 * - Configurable speed and gap
 * - Font size and family customization
 * - Color support with hex/RGB values
 * - Looping support
 * - Completion events when scroll finishes (if not looping)
 */
export declare class ScrollingTextRenderer extends Canvas2DRendererBase implements Renderer, DoneAware {
    private text;
    private lines;
    private fontSize;
    private fontFamily;
    private lineHeight;
    private textColor;
    private scrollConfig;
    private loopConfig;
    private duration;
    private pauseDuration;
    private position;
    private startTime;
    private lastFrameTime;
    private currentLoopCount;
    private completionCallback;
    private isPlaying;
    private completed;
    private isPaused;
    private pauseStartTime;
    private textWidth;
    private textHeight;
    private lineWidths;
    private textMeasured;
    constructor(data: TextRenderDataSpecification);
    private measureText;
    reset(): void;
    play(): void;
    pause(): void;
    renderFrame(width: number, height: number): void;
    private drawStaticText;
    private drawScrollingText;
    private drawMultiLineScrollText;
    private drawTextBlock;
    private checkScrollCompletion;
    private startPauseOrNextLoop;
    private handleCompletion;
    onDone(callback: () => void): void;
    isOneShot(): boolean;
    dispose(): void;
}
//# sourceMappingURL=scrolling-text-renderer.d.ts.map