import {
  Training,
  BlockInstance,
  Block,
  ExerciseInstance,
  Exercise,
  TrainingArchiveItem,
} from '../gql'

export type TTrainingArchiveItem = Pick<TrainingArchiveItem, 'id'> &
  Partial<Omit<TrainingArchiveItem, 'id'>>

export type TTraining = Pick<Training, 'id' | 'type'> & Partial<Omit<Training, 'id' | 'type'>>
export type TBlockInstance = Pick<BlockInstance, 'id'> & Partial<Omit<BlockInstance, 'id'>>
export type TBlock = Pick<
  Block,
  'id' | 'title' | 'exercises' | 'videos' | 'blocks' | 'tracks' | 'pictures' | 'format'
> &
  Partial<
    Omit<
      Block,
      'id' | 'title' | 'exercises' | 'videos' | 'blocks' | 'tracks' | 'pictures' | 'format'
    >
  >
export type TExerciseInstance = Pick<ExerciseInstance, 'id'> & Partial<Omit<ExerciseInstance, 'id'>>
export type TExercise = Pick<
  Exercise,
  'id' | 'name' | 'pictures' | 'videos' | 'targets' | 'baseExercise'
> &
  Partial<Omit<Exercise, 'id' | 'name' | 'pictures' | 'videos' | 'targets' | 'baseExercise'>>
export type TRating = { value: number }
