import * as _angular_core from '@angular/core';
import { OnInit, ElementRef } from '@angular/core';

declare global {
    interface Window {
        define: any;
        requirejs: any;
        Viz: any;
    }
}
/**
 * Wrapper for Viz.js library to render DOT graphs in Angular.
 */
declare class VizComponent implements OnInit {
    private readonly ZOOM_SPEED;
    private readonly MIN_SCALE;
    private readonly MAX_SCALE;
    private readonly destroyRef;
    private readonly _transform;
    private _isDragging;
    private _lastPosition;
    private _originalViewBox;
    private _vizInstance;
    private _vizPromise;
    private _scriptsLoaded;
    graphContainer: ElementRef;
    container: ElementRef;
    /**
     * DOT code to render as a graph.
     */
    readonly code: _angular_core.InputSignal<string>;
    readonly error: _angular_core.WritableSignal<string | null>;
    readonly loading: _angular_core.WritableSignal<boolean>;
    constructor();
    ngOnInit(): void;
    fitToContainer(): void;
    zoomIn(): void;
    zoomOut(): void;
    resetView(): void;
    private updateZoom;
    onWheel(event: WheelEvent): void;
    onMouseDown(event: MouseEvent): void;
    onMouseMove(event: MouseEvent): void;
    onMouseUp(): void;
    private applyTransform;
    private storeOriginalViewBox;
    private loadScript;
    private initViz;
    private checkAndRender;
    private renderGraph;
    /**
     * Exports the rendered graph as an SVG file.
     */
    exportSVG(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<VizComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<VizComponent, "ngx-viz", never, { "code": { "alias": "code"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

export { VizComponent };
