import type { Effect } from "./assignment" export default interface Script { name: string lines: ScriptLine[] } export interface ScriptLine { if: ScriptLineIf assign: ScriptLineAssign set: ScriptLineSet } export interface ScriptLineIf { condition: ScriptCondition then: ScriptLine[] else: ScriptLine[] } export interface ScriptCondition { scope: string key: string op: string value?: string not?: boolean } export interface ScriptLineAssign { match: string effect: Effect } export interface ScriptLineSet { scope: string key: string value: string }