import { DoneAware, Renderer, SequenceRenderDataSpecification, RenderSpecification } from '../../types';
/**
 * A renderer that plays multiple patterns in sequence.
 *
 * Features:
 * - Plays patterns in order from a list of pattern IDs
 * - Supports looping the entire sequence
 * - Handles transitions between patterns
 * - Emits completion when all patterns have played
 */
export declare class SequenceRenderer implements Renderer, DoneAware {
    private patterns;
    private currentPatternIndex;
    private currentRenderer;
    private loopConfig;
    private currentLoopCount;
    private transitionDuration;
    private patternOverrides;
    private completionCallback;
    private patternStore;
    private canvas;
    private ctx;
    private width;
    private height;
    constructor(data: SequenceRenderDataSpecification & {
        patternStore?: Map<string, RenderSpecification<any>>;
    });
    private loadCurrentPattern;
    private isDoneAware;
    private handlePatternComplete;
    private moveToNextPattern;
    reset(): void;
    play(): void;
    pause(): void;
    renderFrame(width: number, height: number): void;
    readPixels(width: number, height: number): Uint8ClampedArray;
    onDone(callback: () => void): void;
    isOneShot(): boolean;
    dispose(): void;
    /**
     * Set the pattern store for looking up patterns by ID
     */
    setPatternStore(store: Map<string, RenderSpecification<any>>): void;
}
//# sourceMappingURL=sequence-renderer.d.ts.map