/* tslint:disable */
/* eslint-disable */
// This file was automatically generated and should not be edited.

import { TagType } from "./globalTypes";

// ====================================================
// GraphQL query operation: TagPageData
// ====================================================

export interface TagPageData_getRevision_tags_rule_groups {
  __typename: "RuleGroup";
  /**
   * The `RuleGroup` ID
   */
  id: string;
  /**
   * Name associated with the `RuleGroup`
   */
  name: string;
}

export interface TagPageData_getRevision_tags {
  __typename: "Tag";
  /**
   * Tag ID
   */
  id: string;
  /**
   * Tag name
   */
  name: string;
  /**
   * Tag code, this persists when cloned. It is generated by the parent tag and
   * inherited by all other tags cloned from this point. It is immutable by design.
   */
  tag_code: string;
  /**
   * Tag type, see `TagType`
   */
  type: TagType;
  /**
   * A set of `RuleGroup`s attached to this tag.
   */
  rule_groups: TagPageData_getRevision_tags_rule_groups[];
  /**
   * An optional height parameter, used for placements.
   */
  height: number;
  /**
   * An optional width parameter, used for placements.
   */
  width: number;
  /**
   * If the tag should be automatically loaded on all pages.
   */
  auto_load: boolean;
  /**
   * Date the tag was created
   */
  created_at: S8DateTime;
  /**
   * Date the tag was last updated
   */
  updated_at: S8DateTime;
}

export interface TagPageData_getRevision {
  __typename: "Revision";
  /**
   * Revision ID
   */
  id: string;
  /**
   * Revision has been finalised and locked to prevent further changes
   */
  locked: boolean;
  /**
   * Get all the tags linked to this revision
   */
  tags: TagPageData_getRevision_tags[];
}

export interface TagPageData {
  /**
   * @bound=Revision
   * Finds a Revision By Id
   */
  getRevision: TagPageData_getRevision;
}

export interface TagPageDataVariables {
  id: string;
}
