import { EventEmitter, OnChanges, SimpleChanges, ChangeDetectorRef, OnInit } from '@angular/core';
import { RelationsNodeMetadata } from '@anglr/dynamic/relations-editor';
import { RelationsDebugger, RelationsStepDebugInfo } from '@anglr/dynamic/relations';
import * as i0 from "@angular/core";
/**
 * Component used for visualization of relations debugger data
 */
export declare class RelationsDebuggerVisualizerSAComponent implements OnInit, OnChanges {
    protected relationsDebugger: RelationsDebugger;
    protected changeDetector: ChangeDetectorRef;
    /**
     * Interval of running debugging
     */
    protected interval: number | undefined | null;
    /**
     * Playing through debugging steps
     */
    protected playing: boolean;
    /**
     * Definition of nodes that should be rendered
     */
    protected nodeDefinitions: RelationsNodeMetadata[];
    /**
     * Currently displayed step
     */
    protected currentStep: RelationsStepDebugInfo | undefined | null;
    /**
     * Delay between steps during automatic play
     */
    playDelay: number;
    /**
     * Definition of relations and their nodes, used for rendering canvas
     */
    relationsDefinition: RelationsNodeMetadata[];
    /**
     * Occurs when user is trying to close visualizer
     */
    close: EventEmitter<void>;
    constructor(relationsDebugger: RelationsDebugger, changeDetector: ChangeDetectorRef);
    /**
     * Initialize component
     */
    ngOnInit(): void;
    /**
     * Called when input value changes
     */
    ngOnChanges(changes: SimpleChanges): void;
    /**
     * Toggles play mode
     */
    protected togglePlay(): void;
    /**
     * Shows next step
     */
    protected nextStep(): void;
    /**
     * Shows previous step
     */
    protected previousStep(): void;
    /**
     * Shows last step
     */
    protected lastStep(): void;
    /**
     * Shows first step
     */
    protected firstStep(): void;
    /**
     * Updates current node definition for step
     */
    protected updateNodeDefinitionForStep(): void;
    /**
     * Renders current step
     * @param step - Step to be rendered
     */
    protected renderStep(step: RelationsStepDebugInfo | undefined | null): void;
    /**
     * Process step
     * @param step - Step to be processed
     */
    protected processStep(step: RelationsStepDebugInfo): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RelationsDebuggerVisualizerSAComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<RelationsDebuggerVisualizerSAComponent, "relations-debugger-visualizer", never, { "playDelay": { "alias": "playDelay"; "required": false; }; "relationsDefinition": { "alias": "relationsDefinition"; "required": false; }; }, { "close": "close"; }, never, never, true, never>;
}
//# sourceMappingURL=relationsDebuggerVisualizer.component.d.ts.map