export = Assignment; /** * @typedef {import("./Homework")} Homework */ /** * @typedef {import("./Test")} Test */ /** * @typedef {import("../lib/RawData").RawDataObject} RawDataObject */ declare class Assignment extends RawData { /** * Creates an instance of Homework or Test from homework data. * @static * @param {RawDataObject} [data={}] * @param {Edupage} [edupage=null] * @return {Assignment | Homework | Test} * @memberof Assignment */ static from(data?: RawDataObject, edupage?: Edupage): Assignment | Homework | Test; /** * Creates an instance of Assignment. * @param {RawDataObject} [data={}] Initializes instance with raw data. * @param {Edupage} [edupage=null] Edupage instance to use. * @memberof Assignment */ constructor(data?: RawDataObject, edupage?: Edupage); /** * Edupage instance associated to this object. * @type {Edupage} */ edupage: Edupage; /** * Homework id of this assignment. * @type {string} * @example "superid:16647" */ id: string; /** * Super assignment id. * @type {string} */ superId: string; /** * Author of the assignment. * @type {User | Teacher} */ owner: User | Teacher; /** * Subject associated to this assignment. * @type {Subject} */ subject: Subject; /** * Title of the assignment. * @type {string} */ title: string; /** * Description of the assignment. * @type {string} */ details: string; /** * Date when the assignment was created. * @type {Date} */ creationDate: Date; /** * Date from which the assignment is available for the students. * @type {Date} */ fromDate: Date; /** * Date by which the assignment is available to students. * @type {Date} */ toDate: Date; /** * Time to complete the assignment in seconds * @type {number} */ duration: number; /** * Period when the assignment is available. * @type {Period} */ period: Period; /** * Id of the test. * @type {string} */ testId: string; /** * Type of the assignment. * @type {ASSIGNMENT_TYPE} */ type: ASSIGNMENT_TYPE; /** * Homework id 2. * @type {string} * @example "subid:4B1340557B68DE71" */ hwkid: string; /** * Number of cards in the material. * @type {number} */ cardsCount: number; /** * Number of answer cards in the material. * @type {number} */ answerCardsCount: number; /** * The evaluation state of the assignment. * @type {string} */ state: string; /** * Flag indicating if the assignment is new. * @type {boolean} */ isSeen: boolean; /** * Comment of the assignment. * @type {string} */ comment: string; /** * Result of the assignment. * @type {string} */ result: string; /** * Flag indicating if the assignment is finished. * @type {boolean} */ isFinished: boolean; /** * Date when the assignment was last updated. * @type {Date} */ stateUpdatedDate: Date; /** * User who last updated the assignment. * @type {User | Teacher} */ stateUpdatedBy: User | Teacher; /** * List of grades associated to this assignment. * @type {Grade[]} */ grades: Grade[]; /** * Initializes the object. * @param {Edupage} [edupage=null] Edupage instance to use. * @memberof Assignment */ init(edupage?: Edupage): void; /** * Fetches results + material data for assignment * Usually the structure is: `{resultsData: {...}, materialData: {...}, ...}` * Fetched data are cached into `this._data._resultsData` * @return {Promise} Non-parsed raw data object * @memberof Assignment */ getData(): Promise; } declare namespace Assignment { export { Homework, Test, RawDataObject }; } import RawData = require("../lib/RawData"); import Edupage = require("./Edupage"); import User = require("./User"); import Teacher = require("./Teacher"); import Subject = require("./Subject"); import Period = require("./Period"); import { ASSIGNMENT_TYPE } from "./enums"; import Grade = require("./Grade"); type RawDataObject = import("../lib/RawData").RawDataObject; type Homework = import("./Homework"); type Test = import("./Test");