export interface ISecretGroup {
  /**
   * the insatnce id. This should be a random id, except for default
   */
  id: string;

  data: {
    name: string;
    description: string;

    /**
     * the key of the secretgroup like CI_RUNNER_TOKEN
     */
    key: string;

    /**
     * the priority of the secretgroup
     * will be used to determine which secretgroup will be used
     * when there are multiple secretgroups with the same key
     */
    priority?: number;

    /**
     * any tags that can be used to filter the secretgroup
     * can be used for putting secrets into projects
     */
    tags: {
      key: string;
      value: string;
    }[];
    /**
     * the values for this secretGroup
     */
    environments: {
      [key: string]: {
        value: string;

        /**
         * can be used to update the value
         */
        updateToken?: string;

        /**
         * the linux timestamp of the last update
         */
        lastUpdated: number;
        history: {
          timestamp: string;
          value: string;
        }[];
      };
    };
  };
}
