import { Node, type NodeParams, type SocketsValues } from '../Node.svelte'; import type { Scalar, Socket } from '../../socket'; import { InputControlNode } from './common-data-nodes.svelte'; import type { DataType, SocketType } from '../../plugins/typed-sockets'; export declare class ArrayNode extends InputControlNode { constructor(params?: NodeParams); } export declare class MergeArraysNode extends Node<{ a: Socket<'any', 'array'>; b: Socket<'any', 'array'>; }, { value: Socket<'any', 'array'>; }> { constructor(params?: NodeParams); data(inputs?: { a: unknown[]; b: unknown[]; } | undefined): SocketsValues<{ value: Socket<'any', 'array'>; }>; } export declare class GetArrayElementNode extends Node<{ array: Socket<'any', 'array'>; index: Scalar<'integer'>; }, { value: Scalar<'any'>; }> { constructor(params?: NodeParams); data(inputs?: { array: unknown[]; index: number; } | undefined): SocketsValues<{ value: Socket<'any', 'scalar'>; }>; } export declare class MakeArrayNode extends Node>, { array: Socket<'any', 'array'>; }> { constructor(params?: NodeParams & { numPins?: number; }); } export declare class JoinNode extends Node<{ array: Socket<'any', 'array'>; separator: Scalar<'string'>; }, { value: Scalar<'string'>; }> { constructor(params?: NodeParams); data(inputs?: SocketsValues<{ array: Socket<'any', 'array'>; separator: Scalar<'string'>; }> | undefined): SocketsValues<{ value: Scalar<'string'>; }> | Promise; }>>; } export declare class BreakArrayNode extends Node<{ array: Socket; }, Record>> { currentOutputs: Set; constructor(params?: NodeParams & { type?: DataType; }); previousData: Record; data(inputs?: SocketsValues<{ array: Socket; }> | undefined): SocketsValues<{}> | Promise>; updateOutputs(inputs?: { array: unknown[]; }): void; }