import { Bijective, Predicate, Subscription, Terminable } from "@opendaw/lib-std"; import { Addressable } from "@opendaw/lib-box"; import { UserInterfaceBox } from "@opendaw/studio-boxes"; import { SelectableVertex } from "./SelectableVertex"; import { RemoteSelections, RemoteSelectionListener } from "./RemoteSelections"; /** * Scoped, read only view over {@link RemoteSelections}, reusing the *same* predicate + mapping as the * matching local {@link FilteredSelection}. Scope is preserved: a remote note selection only ever * reaches the note scoped view, never the region renderer. * * The mapped value is resolved once on selection (while the box is attached) and cached, so a * deselection that arrives after the selectable box was deleted never re-resolves an adapter for an * already detached box. This mirrors {@link FilteredSelection}, which returns the stored value on * deselect rather than mapping again. */ export declare class FilteredRemoteSelection implements Terminable { #private; constructor(remote: RemoteSelections, filter: Predicate, mapping: Bijective); ownersOf(selectable: T): ReadonlyArray; subscribe(listener: RemoteSelectionListener): Subscription; catchupAndSubscribe(listener: RemoteSelectionListener): Subscription; terminate(): void; } //# sourceMappingURL=FilteredRemoteSelection.d.ts.map