import type { DisplayObjectConfig } from '../dom'; import { Point } from '../shapes'; import type { BaseStyleProps, ParsedBaseStyleProps } from '../types'; import { DisplayObject } from './DisplayObject'; export interface LineStyleProps extends BaseStyleProps { x1: number; y1: number; x2: number; y2: number; z1?: number; z2?: number; isBillboard?: boolean; /** * marker will be positioned at x1/y1 */ markerStart?: DisplayObject; /** * marker will be positioned at x2/y2 */ markerEnd?: DisplayObject; /** * offset relative to original position */ markerStartOffset?: number; /** * offset relative to original position */ markerEndOffset?: number; } export interface ParsedLineStyleProps extends ParsedBaseStyleProps { x1: number; y1: number; x2: number; y2: number; z1?: number; z2?: number; defX: number; defY: number; isBillboard?: boolean; markerStart?: DisplayObject; markerEnd?: DisplayObject; markerStartOffset?: number; markerEndOffset?: number; } /** * Create a line connecting two points. * @see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/line * * Also support for using marker. */ export declare class Line extends DisplayObject { private markerStartAngle; private markerEndAngle; constructor({ style, ...rest }?: DisplayObjectConfig); attributeChangedCallback(attrName: Key, oldValue: LineStyleProps[Key], newValue: LineStyleProps[Key], prevParsedValue: ParsedLineStyleProps[Key], newParsedValue: ParsedLineStyleProps[Key]): void; private transformMarker; getPoint(ratio: number, inWorldSpace?: boolean): Point; getPointAtLength(distance: number, inWorldSpace?: boolean): Point; getTotalLength(): number; } //# sourceMappingURL=Line.d.ts.map