import { PipeTransform } from '@angular/core'; import { ArrowElement } from '../elements'; import * as i0 from "@angular/core"; export interface ArrowheadRenderItem { /** SVG path `d` attribute */ d: string; /** Whether the shape should be filled (true) or stroked outline only (false) */ filled: boolean; /** SVG transform for positioning, rotation, and scaling */ transform: string; /** For stroked heads: stroke-width divided by the scale factor so the visual weight matches the line body */ strokeWidth?: number; } export interface ArrowRenderData { /** Adjusted line start (pulled back if startHead present) */ lineX1: number; lineY1: number; /** Adjusted line end (pulled back if endHead present) */ lineX2: number; lineY2: number; /** SVG path items for each head */ heads: ArrowheadRenderItem[]; /** SVG `d` attribute for the arrow body (line or curve) */ pathD: string; /** Whether this is a curved arrow (use instead of ) */ isCurved: boolean; } export declare class ArrowheadPipe implements PipeTransform { transform(element: ArrowElement): ArrowRenderData; private buildHead; /** Build an SVG transform: translate to endpoint, rotate to angle, then scale */ private buildTransform; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; }