import { IScriptingDefinition } from '@/domain/IScriptingDefinition'; import { OperatingSystem } from '@/domain/OperatingSystem'; import { RecommendationLevel } from '@/domain/RecommendationLevel'; import { IScript } from '@/domain/IScript'; import { 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; findCategory(categoryId: number): ICategory | undefined; findScript(scriptId: string): IScript | undefined; getAllScripts(): ReadonlyArray; getAllCategories(): ReadonlyArray; }