import { viewPermissionType } from "./variables";
import { Word } from "./word";

interface ShelfWord {
    word: Word,
    notes: Array<string>,
    nextRevisionDateTime: Date,
    spaceBetweenRecall: number, // in Days
    isArchived: boolean,
}

export interface Shelf {
    name: string,
    description?: string,
    viewType: viewPermissionType,
    isArchived: boolean,
    words?: Array<ShelfWord>
}

export interface MongoShelfWord extends Omit<ShelfWord, "word"> {
    word: string,
}

export interface MongoShelf extends Omit<Shelf, "words"> {
    words?: Array<MongoShelfWord>
}
