import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
export type LmsCreateAssignmentRequestDto4 = {};
/**
 * The original status value from the provider before normalization.
 */
export type LmsCreateAssignmentRequestDtoSourceValue = string | number | boolean | LmsCreateAssignmentRequestDto4 | Array<any>;
/**
 * The StackOne unified assignment status.
 */
export declare enum LmsCreateAssignmentRequestDtoValue {
    Pending = "pending",
    InProgress = "in_progress",
    Completed = "completed",
    UnmappedValue = "unmapped_value"
}
/**
 * The StackOne unified assignment status.
 */
export type LmsCreateAssignmentRequestDtoValueOpen = OpenEnum<typeof LmsCreateAssignmentRequestDtoValue>;
/**
 * The status of the assignment
 */
export type LmsCreateAssignmentRequestDtoStatus = {
    /**
     * The original status value from the provider before normalization.
     */
    sourceValue?: string | number | boolean | LmsCreateAssignmentRequestDto4 | Array<any> | null | undefined;
    /**
     * The StackOne unified assignment status.
     */
    value?: LmsCreateAssignmentRequestDtoValueOpen | null | undefined;
};
export type LmsCreateAssignmentRequestDto = {
    /**
     * The date the assignment was created
     */
    createdAt?: Date | null | undefined;
    /**
     * The date the assignment is due to be completed
     */
    dueDate?: Date | null | undefined;
    /**
     * The external reference associated with this assignment
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    externalReference?: string | null | undefined;
    /**
     * The external reference of the learning object associated with this assignment, this is the main identifier for creating assignments.
     */
    learningObjectExternalReference: string;
    /**
     * The learning_object_id associated with this assignment. This is not required unless specified in an integration.
     */
    learningObjectId?: string | null | undefined;
    /**
     * Value to pass through to the provider
     */
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The progress associated with this assigment
     */
    progress?: number | null | undefined;
    /**
     * The status of the assignment
     */
    status?: LmsCreateAssignmentRequestDtoStatus | null | undefined;
};
/** @internal */
export type LmsCreateAssignmentRequestDto4$Outbound = {};
/** @internal */
export declare const LmsCreateAssignmentRequestDto4$outboundSchema: z.ZodType<LmsCreateAssignmentRequestDto4$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDto4>;
export declare function lmsCreateAssignmentRequestDto4ToJSON(lmsCreateAssignmentRequestDto4: LmsCreateAssignmentRequestDto4): string;
/** @internal */
export type LmsCreateAssignmentRequestDtoSourceValue$Outbound = string | number | boolean | LmsCreateAssignmentRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const LmsCreateAssignmentRequestDtoSourceValue$outboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDtoSourceValue>;
export declare function lmsCreateAssignmentRequestDtoSourceValueToJSON(lmsCreateAssignmentRequestDtoSourceValue: LmsCreateAssignmentRequestDtoSourceValue): string;
/** @internal */
export declare const LmsCreateAssignmentRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, LmsCreateAssignmentRequestDtoValueOpen>;
/** @internal */
export type LmsCreateAssignmentRequestDtoStatus$Outbound = {
    source_value?: string | number | boolean | LmsCreateAssignmentRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const LmsCreateAssignmentRequestDtoStatus$outboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoStatus$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDtoStatus>;
export declare function lmsCreateAssignmentRequestDtoStatusToJSON(lmsCreateAssignmentRequestDtoStatus: LmsCreateAssignmentRequestDtoStatus): string;
/** @internal */
export type LmsCreateAssignmentRequestDto$Outbound = {
    created_at?: string | null | undefined;
    due_date?: string | null | undefined;
    external_reference?: string | null | undefined;
    learning_object_external_reference: string;
    learning_object_id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    progress?: number | null | undefined;
    status?: LmsCreateAssignmentRequestDtoStatus$Outbound | null | undefined;
};
/** @internal */
export declare const LmsCreateAssignmentRequestDto$outboundSchema: z.ZodType<LmsCreateAssignmentRequestDto$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDto>;
export declare function lmsCreateAssignmentRequestDtoToJSON(lmsCreateAssignmentRequestDto: LmsCreateAssignmentRequestDto): string;
//# sourceMappingURL=lmscreateassignmentrequestdto.d.ts.map