import type { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; import type { IScript } from '@/domain/IScript'; import type { ICategory } from '@/domain/ICategory'; export interface ICategoryCollection { readonly scripting: IScriptingDefinition; readonly os: OperatingSystem; readonly totalScripts: number; readonly totalCategories: number; readonly actions: ReadonlyArray; getScriptsByLevel(level: RecommendationLevel): ReadonlyArray; getCategory(categoryId: number): ICategory; getScript(scriptId: string): IScript; getAllScripts(): ReadonlyArray; getAllCategories(): ReadonlyArray; }