// Models
import { PlannedTerm } from '@app/core/models/planned-term';
import { DegreePlan } from '@app/core/models/degree-plan';
import { SavedForLaterCourse } from '@app/core/models/saved-for-later-course';
import { SubjectMapping } from '@app/core/models/course';

export interface DegreePlannerState {
  visibleDegreePlan: DegreePlan | undefined;
  visibleTerms: PlannedTerm[];
  savedForLaterCourses: SavedForLaterCourse[];
  activeTermCodes: string[];
  allDegreePlans: DegreePlan[];
  subjects: SubjectMapping;
  expandedYears: string[];
}

export const INITIAL_DEGREE_PLANNER_STATE: DegreePlannerState = {
  visibleDegreePlan: undefined,
  visibleTerms: [],
  savedForLaterCourses: [],
  activeTermCodes: [],
  allDegreePlans: [],
  subjects: {},
  expandedYears: [],
};