import { ISignal } from '@/infrastructure/Events/Signal'; import { IScript } from '@/domain/IScript'; export interface IUserSelection { readonly changed: ISignal>; readonly selectedScripts: ReadonlyArray; readonly totalSelected: number; addSelectedScript(scriptId: string): void; removeSelectedScript(scriptId: string): void; selectOnly(scripts: ReadonlyArray): void; isSelected(script: IScript): boolean; selectAll(): void; deselectAll(): void; }