import { NativeElement } from '@nonoun/native-core'; import type { NoodleConnection, PortSide } from '@nonoun/native-traits'; /** * `` — Declarative SVG noodle canvas. * * Wraps NoodleController with a zero-config custom element. Children declare * ports via `data-noodle-port="left right"` and the element handles the SVG * overlay, coordinate system, and stacking context automatically. * * ```html * *
Node A
*
Node B
*
* ``` * * @attr {boolean} editable - Allow interactive creation/deletion of connections * @attr {string} color - Noodle stroke color (default: accent) * @attr {string} stroke-width - Stroke width in px (default: 2) * @attr {string} tension - Bezier control point distance 0–1 (default: 0.5) * @attr {boolean} show-ports - Show port indicator dots (default: auto from editable) * @attr {string} port-size - Port dot size in px (default: 10) * @attr {'bezier'|'step'|'straight'} curve - Curve style (default: bezier) * @attr {boolean} animated - Flowing dash animation * @attr {boolean} disabled - Disable the controller * @fires native:noodle-connect - Connection created. Detail: `{ id, from, to, fromPort, toPort }` * @fires native:noodle-disconnect - Connection removed. Detail: `{ id, from, to, fromPort, toPort }` * @fires native:noodle-drag - Pointer moves during drag. Detail: `{ from, fromPort, x, y, reconnect? }` */ export declare class NNoodles extends NativeElement { #private; static observedAttributes: string[]; /** Current connections. */ get connections(): NoodleConnection[]; /** Create a connection between two elements. Returns the connection ID. */ connect(from: string, to: string, fromPort?: PortSide, toPort?: PortSide): string; /** Remove a connection by ID. */ disconnect(id: string): boolean; /** Replace all connections. */ setConnections(connections: NoodleConnection[]): void; /** Remove all connections. */ clear(): void; /** Force re-render paths and port indicators. */ update(): void; setup(): void; teardown(): void; attributeChangedCallback(name: string, old: string | null, val: string | null): void; } //# sourceMappingURL=noodles-element.d.ts.map