import { ClassicPreset } from 'rete'; import type { DataType, SocketType } from '../plugins/typed-sockets'; import type { Node } from '../nodes/Node.svelte'; declare const socketDatastructures: readonly ["scalar", "array"]; export type SocketDatastructure = (typeof socketDatastructures)[number]; export type SocketValueWithDatastructure = D extends 'scalar' ? T : D extends 'array' ? T[] : never; export type Scalar = Socket; export declare class Socket extends ClassicPreset.Socket { datastructure: D; readonly isRequired: boolean; type: S; value: unknown; selected: boolean; readonly node: Node; displayLabel: boolean | undefined; port: ClassicPreset.Port> | undefined; element: HTMLElement | undefined; constructor({ name, datastructure, isRequired, type, displayLabel, node }: { name?: string; isRequired?: boolean; datastructure?: D; type?: S; node: Node; displayLabel?: boolean; }); select(): void; deselect(): void; toggleSelection(): void; } export {};