export interface CanvasEnvironment {
  ASSET_HOST: string;
  active_brand_config_json_url: string;
  url_to_what_gets_loaded_inside_the_tinymce_editor_css: string[];
  url_for_high_contrast_tinymce_editor_css: string[];
  current_user_id: string;
  current_user_roles: string[];
  current_user_types: string[];
  current_user_disabled_inbox: boolean;
  files_domain: string;
  DOMAIN_ROOT_ACCOUNT_ID: string;
  k12: boolean;
  use_responsive_layout: boolean;
  use_rce_enhancements: boolean;
  rce_auto_save: boolean;
  help_link_name: string;
  help_link_icon: string;
  use_high_contrast: boolean;
  disable_celebrations: boolean;
  LTI_LAUNCH_FRAME_ALLOWANCES: string[];
  DEEP_LINKING_POST_MESSAGE_ORIGIN: string;
  DEEP_LINKING_LOGGING: null;
  SETTINGS: CanvasEnvironmentSettings;
  SUBMISSION: CanvasEnvironmentSubmission;
  DIRECT_SHARE_ENABLED: boolean;
  FEATURES: CanvasEnvironmentFeatures;
  current_user: CanvasEnvironmentCurrentUser;
  page_view_update_url: string;
  context_asset_string: string;
  ping_url: string;
  TIMEZONE: string;
  CONTEXT_TIMEZONE: string;
  LOCALE: string;
  BIGEASY_LOCALE: string;
  FULLCALENDAR_LOCALE: string;
  MOMENT_LOCALE: string;
  INCOMPLETE_REGISTRATION: null | boolean;
  USER_EMAIL: string;
  badge_counts: CanvasEnvironmentBadgeCount;
  NEW_USER_TUTORIALS: CanvasEnvironmentNewUserTutorials;
  STUDENT_PLANNER_ENABLED: boolean;
  COURSE: CanvasEnvironmentCourse;
  TOTAL_USER_COUNT: number;
  SHOW_ANNOUNCEMENTS: boolean;
  ANNOUNCEMENT_LIMIT: number;
  course_id: string;
  CONTEXT_URL_ROOT: string;
  DUPLICATE_ENABLED: boolean;
  FILES_CONTEXTS: CanvasEnvironmentFilesContext[];
  MODULE_FILE_DETAILS: CanvasEnvironmentModuleFileDetails;
  MODULE_FILE_PERMISSIONS: CanvasEnvironmentModuleFilePermissions;
  MODULE_TRAY_TOOLS: CanvasEnvironmentModuleTrayTools;
  DEFAULT_POST_TO_SIS: boolean;
  CONTEXT_MODULE_ASSIGNMENT_INFO_URL: string;
  notices: any[];
  active_context_tab: string;
  COLLAPSED_MODULES: any[];
  CAN_MANAGE_MODULES: boolean;
  IS_STUDENT: boolean;
  COURSE_ID: string;
  NO_MODULE_PROGRESSIONS: boolean;
  rubric: any;
  a2_student_view: boolean;
}
export interface CanvasEnvironmentSettings {
  open_registration: boolean;
  collapse_global_nav: boolean;
  show_feedback_link: boolean;
}
export interface CanvasEnvironmentFeatures {
  assignment_bulk_edit_phase_2: boolean;
  cc_in_rce_video_tray: boolean;
  featured_help_links: boolean;
  assignment_bulk_edit: boolean;
  responsive_admin_settings: boolean;
  responsive_awareness: boolean;
  responsive_misc: boolean;
  product_tours: boolean;
  module_dnd: boolean;
  files_dnd: boolean;
  unpublished_courses: boolean;
  canvas_k6_theme: boolean;
}
export interface CanvasEnvironmentCurrentUser {
  id: string;
  display_name: string;
  avatar_image_url: string;
  html_url: string;
  pronouns: null | any;
  avatar_is_fallback: boolean;
}
export interface CanvasEnvironmentBadgeCount {
  submissions: number;
}
export interface CanvasEnvironmentNewUserTutorials {
  is_enabled: boolean;
}
export interface CanvasEnvironmentCourse {
  id: string;
  pages_url: string;
  front_page_title: null | string;
  default_view: string;
  is_student: false;
  is_instructor: false;
}
export interface CanvasEnvironmentFilesContext {
  asset_string: string;
}
export interface CanvasEnvironmentModuleFileDetails {
  [key: string]: CanvasEnvironmentModuleFileDetail;
}
export interface CanvasEnvironmentModuleFileDetail {
  id: string;
  content_id: string;
  content_details: CanvasEnvironmentModuleFileDetailContentDetails;
  module_id: string;
}
export interface CanvasEnvironmentModuleFileDetailContentDetails {
  display_name: string;
}
export interface CanvasEnvironmentModuleFilePermissions {
  usage_rights_required: boolean;
  manage_files: boolean;
}
export interface CanvasEnvironmentModuleTrayTools {
  module_index_menu: CanvasEnvironmentTrayTool[];
  module_group_menu: CanvasEnvironmentTrayTool[];
}
export interface CanvasEnvironmentTrayTool {
  id: string;
  title: string;
  base_url: string;
  icon_url: string;
  canvas_icon_class: string;
}
export interface CanvasEnvironmentSubmission {
  submission: CanvasSubmission;
}
export interface CanvasSubmission {
  submission_type: string;
}
