export type Condition = | { kind: 'FileChange'; where?: { pathPrefix?: string; changeType?: 'added' | 'modified' | 'deleted'; }; } | { kind: 'Heuristic'; where?: { ruleId?: string; code?: string; filePathPrefix?: string; }; } | { kind: 'FileContent'; contains?: ReadonlyArray; regex?: ReadonlyArray; } | { kind: 'Dependency'; where?: { from?: string; to?: string; }; } | { kind: 'All'; conditions: ReadonlyArray; } | { kind: 'Any'; conditions: ReadonlyArray; } | { kind: 'Not'; condition: Condition; };