import { ExpandedBase64 } from "../classes";
import { Student } from "../accounts";
import { textbookDateAssignement as _textbookDateAssignement } from "ecoledirecte-api-types/v3";
export declare class Assignement {
    /** @description Unique ID */
    id: number;
    /** @description Date for which the assignement is due */
    date: Date;
    /** @description Whether it represents a test or not */
    test: boolean;
    /** @description Concerned subject */
    subject: {
        name: string;
        code: string;
    };
    /** @description Teacher who created the assignement */
    teacher: string;
    /** @description The homework itself */
    job?: {
        content: ExpandedBase64;
        givenAt: Date;
        /** @description Whether the homework should be returned through EcoleDirecte */
        toReturnOnline: boolean;
        done: boolean;
        /** @description `contenuDeSeance` of the last course */
        lastContenuDeSeance: {
            content: ExpandedBase64;
            documents: unknown[];
        };
        tick: (newState?: boolean) => Promise<boolean>;
    };
    /** @description The day's `contenuDeSeance`. May not be displayed in the EcoleDirecte UI if the date is in the future */
    contenuDeSeance?: {
        homeworkId: number;
        content: ExpandedBase64;
        documents: unknown[];
    };
    /** @description Raw document straight from EcoleDirecte */
    _raw: _textbookDateAssignement;
    constructor(o: _textbookDateAssignement, date: string, student: Student);
}
export declare function tickAssignement(id: number, token: string, assignement: _textbookDateAssignement, state?: boolean): Promise<{
    code: 200;
    token: string;
    host: string;
}>;
