export interface Chapter {
  id: string;
  number?: number;
  sequence?: number;
  name?: string;
  title?: string;
  arabicName?: string;
  totalVerses?: number;
  description?: string;
  createdAt?: string;
  updatedAt?: string;
}

export interface MasterAudio {
  name: string;
  url: string;
  type: string;
  isReference: boolean;
  isActive: boolean;
}

export interface Verse {
  id: string;
  number: number;
  chapterId: string;
  chapter?: Chapter;
  arabicText: string;
  latinText: string;
  latinPesantren?: string;
  translation: string;
  masterAudio?: MasterAudio;
  status?: VerseStatus;
  isBookmarked?: boolean;
  createdAt?: string;
  updatedAt?: string;
  previousId?: string | null;
  nextId?: string | null;
}

export type VerseStatus = 'not_started' | 'in_progress' | 'completed' | 'need_revision';

export interface VerseFilter {
  search?: string;
  chapterId?: string;
  status?: VerseStatus;
  page?: number;
  limit?: number;
}

export interface VersePaginatedResponse {
  data: Verse[];
  meta: {
    total: number;
    page: number;
    lastPage: number;
  };
}

export interface StudentVerse {
  bab: string;
  arabic: string;
  status: string;
  versesId: string;
  submissionId: string;
}
