import { Subject } from 'rxjs'; import { StoreExtension } from '../store-extension'; import type { BaseSelection } from './base'; import type { SelectionConstructor } from './types'; export declare class StoreSelectionExtension extends StoreExtension { static readonly key = "selection"; private readonly _id; private _selectionConstructors; private readonly _selections; private readonly _remoteSelections; private readonly _itemAdded; private readonly _itemPopped; private readonly _jsonToSelection; slots: { changed: Subject; remoteChanged: Subject>; }; loaded(): void; disposed(): void; get value(): BaseSelection[]; get remoteSelections(): Map; clear(types?: string[]): void; create(Type: T, ...args: ConstructorParameters): InstanceType; getGroup(group: string): BaseSelection[]; filter(type: T): InstanceType[]; filter$(type: T): import("@preact/signals-core").ReadonlySignal[]>; find(type: T): InstanceType | undefined; find$(type: T): import("@preact/signals-core").ReadonlySignal | undefined>; set(selections: BaseSelection[]): void; setGroup(group: string, selections: BaseSelection[]): void; clearRemote(): void; update(fn: (currentSelections: BaseSelection[]) => BaseSelection[]): void; fromJSON(json: Record[]): void; } //# sourceMappingURL=selection-extension.d.ts.map