import { TraverseState, type RelatedTo, type ToJSON } from '@rimbu/common'; import { Stream, type StreamSource } from '@rimbu/stream'; import { NonEmptyBase } from '@rimbu/collection-types/map-custom'; import type { GraphTypesContextImpl } from '@rimbu/graph/custom'; import type { GraphBase, GraphElement, Link, WithGraphValues } from '../../common/index.cjs'; export declare class GraphNonEmpty = WithGraphValues> extends NonEmptyBase> implements GraphBase.NonEmpty { readonly isDirected: boolean; readonly context: TpG['context']; readonly linkMap: TpG['linkMapNonEmpty']; readonly connectionSize: number; _NonEmptyType: TpG['nonEmpty']; constructor(isDirected: boolean, context: TpG['context'], linkMap: TpG['linkMapNonEmpty'], connectionSize: number); copy(linkMap: TpG['linkMapNonEmpty'], connectionSize: number): TpG['nonEmpty']; copyE(linkMap: TpG['linkMap'], connectionSize: number): TpG['normal']; assumeNonEmpty(): any; asNormal(): any; forEach(f: (node: GraphElement, index: number, halt: () => void) => void, options?: { state?: TraverseState; }): void; stream(): Stream.NonEmpty>; get nodeSize(): number; streamNodes(): Stream.NonEmpty; streamConnections(): Stream['link']>; hasNode(node: RelatedTo): boolean; hasConnection(node1: RelatedTo, node2: RelatedTo): boolean; getConnectionStreamFrom(node1: RelatedTo): Stream>; getConnectionStreamTo(node: RelatedTo): any; getConnectionsFrom(node1: RelatedTo): TpG['linkConnections']; isSink(node: RelatedTo): boolean; isSource(node: RelatedTo): boolean; addNode(node: N): TpG['nonEmpty']; addNodes(nodes: StreamSource): TpG['nonEmpty']; removeNode(node: RelatedTo): TpG['normal']; removeNodes(nodes: StreamSource>): TpG['normal']; connect(node1: N, node2: N): TpG['nonEmpty']; connectAll(links: StreamSource['link']>): TpG['nonEmpty']; disconnect(node1: RelatedTo, node2: RelatedTo): TpG['nonEmpty']; disconnectAll(links: StreamSource>>): TpG['nonEmpty']; removeUnconnectedNodes(): TpG['normal']; toString(): string; toJSON(): ToJSON<[N, [N][]][]>; toBuilder(): TpG['builder']; }