import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { RecommendationLevel } from '@/domain/Executables/Script/RecommendationLevel'; import type { Script } from '@/domain/Executables/Script/Script'; import type { Category } from '@/domain/Executables/Category/Category'; import type { ExecutableId } from '../Executables/Identifiable'; export interface ICategoryCollection { readonly scripting: IScriptingDefinition; readonly os: OperatingSystem; readonly totalScripts: number; readonly totalCategories: number; readonly actions: ReadonlyArray; getScriptsByLevel(level: RecommendationLevel): ReadonlyArray