import { Bijective, Editing, int, ObservableOption, Predicate, Selection, SelectionListener, Subscription } from "@opendaw/lib-std"; import { Addressable, BoxGraph, Field } from "@opendaw/lib-box"; import { Pointers } from "@opendaw/studio-enums"; import { UserInterfaceBox } from "@opendaw/studio-boxes"; import { SelectableVertex } from "./SelectableVertex"; import { FilteredSelection } from "./FilteredSelection"; /** * Represents the main selection management within a document. * This class maintains selections for different users, with each user having their own unique selection. */ export declare class VertexSelection implements Selection { #private; readonly editing: Editing; readonly boxGraph: BoxGraph; constructor(editing: Editing, boxGraph: BoxGraph); /** The currently followed user, observable so remote views can react to {@link switch}/{@link release}. */ get user(): ObservableOption; switch(target: Field): this; release(): void; createFilteredSelection(affiliate: Predicate, map: Bijective): FilteredSelection; select(...selectables: ReadonlyArray): void; deselect(...selectables: ReadonlyArray): void; deselectAll(): void; distance(inventory: Iterable): ReadonlyArray; isEmpty(): boolean; nonEmpty(): boolean; count(): int; isSelected(selectable: SelectableVertex): boolean; selected(): ReadonlyArray; subscribe(listener: SelectionListener): Subscription; catchupAndSubscribe(listener: SelectionListener): Subscription; } //# sourceMappingURL=VertexSelection.d.ts.map