From 938329d6a148c9403652f68fa45255acaceaa247 Mon Sep 17 00:00:00 2001
From: Kir_Antipov <kp.antipov@gmail.com>
Date: Wed, 22 Feb 2023 09:23:01 +0000
Subject: [PATCH] Made an interface for Action groups

---
 src/utils/actions/action-group.ts | 33 +++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 src/utils/actions/action-group.ts

diff --git a/src/utils/actions/action-group.ts b/src/utils/actions/action-group.ts
new file mode 100644
index 0000000..dbfa9a5
--- /dev/null
+++ b/src/utils/actions/action-group.ts
@@ -0,0 +1,33 @@
+/**
+ * Describes a group of inputs or outputs for a GitHub Action.
+ */
+export interface ActionGroup {
+    /**
+     * An optional type name of this group.
+     */
+    type?: string;
+
+    /**
+     * An optional description of this group.
+     */
+    description?: string;
+
+    /**
+     * An array of input or output names that belong to this group.
+     *
+     * The final input or output names will be prefixed with the group name.
+     */
+    include?: string[];
+
+    /**
+     * An array of input or output names that should be excluded from this group.
+     *
+     * These inputs or outputs will still appear in the top-level inputs or outputs.
+     */
+    exclude?: string[];
+}
+
+/**
+ * The default delimiter used when concatenating group and input/output names in action metadata templates.
+ */
+export const DEFAULT_ACTION_GROUP_DELIMITER = "-";