UNPKG

1.23 kBTypeScriptView Raw
1export interface Selectable {
2 select(): void;
3 unselect(): void;
4}
5interface SingleTypeSelectionAccumulatorChanges<T> {
6 added: T[];
7 deleted: T[];
8 previous: T[];
9 current: T[];
10}
11interface Node extends Selectable {
12 $: "node";
13}
14interface Edge extends Selectable {
15 $: "edge";
16}
17export interface SelectionAccumulatorCommitSummary {
18 nodes: SingleTypeSelectionAccumulatorChanges<Node>;
19 edges: SingleTypeSelectionAccumulatorChanges<Edge>;
20}
21export declare type SelectionAccumulatorCommitHandler<CommitArgs extends readonly any[]> = (summary: SelectionAccumulatorCommitSummary, ...rest: CommitArgs) => void;
22export declare class SelectionAccumulator<CommitArgs extends readonly any[]> {
23 #private;
24 constructor(commitHandler?: SelectionAccumulatorCommitHandler<CommitArgs>);
25 get sizeNodes(): number;
26 get sizeEdges(): number;
27 getNodes(): Node[];
28 getEdges(): Edge[];
29 addNodes(...nodes: readonly Node[]): void;
30 addEdges(...edges: readonly Edge[]): void;
31 deleteNodes(node: Node): void;
32 deleteEdges(edge: Edge): void;
33 clear(): void;
34 commit(...rest: CommitArgs): SelectionAccumulatorCommitSummary;
35}
36export {};
37//# sourceMappingURL=selection-accumulator.d.ts.map
\No newline at end of file