import * as z from "zod";
import { AssignmentStatusEnum, AssignmentStatusEnum$Outbound } from "./assignmentstatusenum.js";
import { LearningObjectTypeEnum, LearningObjectTypeEnum$Outbound } from "./learningobjecttypeenum.js";
export type Assignment = {
    /**
     * The course ID associated with this assignment
     */
    courseId?: string | null | undefined;
    /**
     * The date the assignment was created
     */
    createdAt?: string | null | undefined;
    /**
     * The date the assignment is due to be completed
     */
    dueDate?: string | null | undefined;
    /**
     * The ID associated with this assignment
     */
    id?: string | null | undefined;
    /**
     * The learning_object_external_reference associated with this assignment
     */
    learningObjectExternalReference?: string | null | undefined;
    /**
     * The learning_object_id associated with this assignment
     */
    learningObjectId?: string | null | undefined;
    /**
     * The learning object type of the assignment
     */
    learningObjectType?: Array<LearningObjectTypeEnum> | null | undefined;
    /**
     * The progress associated with this assigment
     */
    progress?: number | null | undefined;
    /**
     * Provider's unique identifier of the course related to the assignment
     */
    remoteCourseId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Provider's unique identifier of the learning object related to the assignment
     */
    remoteLearningObjectId?: string | null | undefined;
    /**
     * Provider's unique identifier of the user related to the assignment
     */
    remoteUserId?: string | null | undefined;
    /**
     * The status of the assignment
     */
    status?: Array<AssignmentStatusEnum> | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The date the assignment was last updated
     */
    updatedAt?: string | null | undefined;
    /**
     * The user ID associated with this assignment
     */
    userId?: string | null | undefined;
};
/** @internal */
export declare const Assignment$inboundSchema: z.ZodType<Assignment, z.ZodTypeDef, unknown>;
/** @internal */
export type Assignment$Outbound = {
    course_id?: string | null | undefined;
    created_at?: string | null | undefined;
    due_date?: string | null | undefined;
    id?: string | null | undefined;
    learning_object_external_reference?: string | null | undefined;
    learning_object_id?: string | null | undefined;
    learning_object_type?: Array<LearningObjectTypeEnum$Outbound> | null | undefined;
    progress?: number | null | undefined;
    remote_course_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_learning_object_id?: string | null | undefined;
    remote_user_id?: string | null | undefined;
    status?: Array<AssignmentStatusEnum$Outbound> | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
    user_id?: string | null | undefined;
};
/** @internal */
export declare const Assignment$outboundSchema: z.ZodType<Assignment$Outbound, z.ZodTypeDef, Assignment>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Assignment$ {
    /** @deprecated use `Assignment$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Assignment, z.ZodTypeDef, unknown>;
    /** @deprecated use `Assignment$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Assignment$Outbound, z.ZodTypeDef, Assignment>;
    /** @deprecated use `Assignment$Outbound` instead. */
    type Outbound = Assignment$Outbound;
}
//# sourceMappingURL=assignment.d.ts.map