import { Evt } from 'evt'; import { PageCtx, IO, IntervalActionDefinition, IntervalActionDefinitions } from '../types'; import { Page } from './Page'; export interface ActionGroupConfig { name: string; description?: string; actions?: IntervalActionDefinitions; groups?: Record; render?: (display: IO['display'], ctx: PageCtx) => Promise; } export default class ActionGroup { #private; name: string; description?: string; actions: IntervalActionDefinitions; render?: (display: IO['display'], ctx: PageCtx) => Promise; onChange: Evt; constructor(config: ActionGroupConfig); add(slug: string, actionOrGroup: IntervalActionDefinition | ActionGroup): void; remove(slug: string): void; }