import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type Assignment4 = {};
/**
 * The original learning object type from the provider before normalization.
 */
export type AssignmentSourceValue = string | number | boolean | Assignment4 | Array<any>;
/**
 * The StackOne unified learning object type.
 */
export declare enum AssignmentValue {
    Content = "content",
    Course = "course",
    Collection = "collection",
    UnmappedValue = "unmapped_value"
}
/**
 * The StackOne unified learning object type.
 */
export type AssignmentValueOpen = OpenEnum<typeof AssignmentValue>;
/**
 * The learning object type of the assignment
 */
export type LearningObjectType = {
    /**
     * The original learning object type from the provider before normalization.
     */
    sourceValue?: string | number | boolean | Assignment4 | Array<any> | null | undefined;
    /**
     * The StackOne unified learning object type.
     */
    value?: AssignmentValueOpen | null | undefined;
};
export type AssignmentSchemas4 = {};
/**
 * The original result status from the provider before normalization.
 */
export type AssignmentSchemasSourceValue = string | number | boolean | AssignmentSchemas4 | Array<any>;
/**
 * The StackOne unified result status.
 */
export declare enum AssignmentSchemasValue {
    Pass = "Pass",
    Fail = "Fail",
    UnmappedValue = "unmapped_value"
}
/**
 * The StackOne unified result status.
 */
export type AssignmentSchemasValueOpen = OpenEnum<typeof AssignmentSchemasValue>;
/**
 * The result of the assignment
 */
export type Result = {
    /**
     * The original result status from the provider before normalization.
     */
    sourceValue?: string | number | boolean | AssignmentSchemas4 | Array<any> | null | undefined;
    /**
     * The StackOne unified result status.
     */
    value?: AssignmentSchemasValueOpen | null | undefined;
};
export type AssignmentSchemasStatus4 = {};
/**
 * The original status value from the provider before normalization.
 */
export type AssignmentSchemasStatusSourceValue = string | number | boolean | AssignmentSchemasStatus4 | Array<any>;
/**
 * The StackOne unified assignment status.
 */
export declare enum AssignmentSchemasStatusValue {
    Pending = "pending",
    InProgress = "in_progress",
    Completed = "completed",
    UnmappedValue = "unmapped_value"
}
/**
 * The StackOne unified assignment status.
 */
export type AssignmentSchemasStatusValueOpen = OpenEnum<typeof AssignmentSchemasStatusValue>;
/**
 * The status of the assignment
 */
export type AssignmentStatus = {
    /**
     * The original status value from the provider before normalization.
     */
    sourceValue?: string | number | boolean | AssignmentSchemasStatus4 | Array<any> | null | undefined;
    /**
     * The StackOne unified assignment status.
     */
    value?: AssignmentSchemasStatusValueOpen | null | undefined;
};
export type Assignment = {
    /**
     * The certification URL associated with this assignment
     */
    certificateUrl?: string | null | undefined;
    /**
     * The date the content was completed
     */
    completedAt?: Date | null | undefined;
    /**
     * The course ID associated with this assignment
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    courseId?: string | null | undefined;
    /**
     * 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 ID associated with this assignment
     */
    id?: string | null | undefined;
    /**
     * The external reference of the learning object associated with this assignment, this is the main identifier for creating assignments.
     */
    learningObjectExternalReference?: string | null | undefined;
    /**
     * The learning_object_id associated with this assignment. This is not required unless specified in an integration.
     */
    learningObjectId?: string | null | undefined;
    /**
     * The learning object type of the assignment
     */
    learningObjectType?: LearningObjectType | null | undefined;
    /**
     * The progress associated with this assigment
     */
    progress?: number | null | undefined;
    /**
     * Provider's unique identifier of the course related to the assignment
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    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 result of the assignment
     */
    result?: Result | null | undefined;
    /**
     * The status of the assignment
     */
    status?: AssignmentStatus | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The date the assignment was last updated
     */
    updatedAt?: Date | null | undefined;
    /**
     * The user ID associated with this assignment
     */
    userId?: string | null | undefined;
};
/** @internal */
export declare const Assignment4$inboundSchema: z.ZodType<Assignment4, z.ZodTypeDef, unknown>;
export declare function assignment4FromJSON(jsonString: string): SafeParseResult<Assignment4, SDKValidationError>;
/** @internal */
export declare const AssignmentSourceValue$inboundSchema: z.ZodType<AssignmentSourceValue, z.ZodTypeDef, unknown>;
export declare function assignmentSourceValueFromJSON(jsonString: string): SafeParseResult<AssignmentSourceValue, SDKValidationError>;
/** @internal */
export declare const AssignmentValue$inboundSchema: z.ZodType<AssignmentValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const LearningObjectType$inboundSchema: z.ZodType<LearningObjectType, z.ZodTypeDef, unknown>;
export declare function learningObjectTypeFromJSON(jsonString: string): SafeParseResult<LearningObjectType, SDKValidationError>;
/** @internal */
export declare const AssignmentSchemas4$inboundSchema: z.ZodType<AssignmentSchemas4, z.ZodTypeDef, unknown>;
export declare function assignmentSchemas4FromJSON(jsonString: string): SafeParseResult<AssignmentSchemas4, SDKValidationError>;
/** @internal */
export declare const AssignmentSchemasSourceValue$inboundSchema: z.ZodType<AssignmentSchemasSourceValue, z.ZodTypeDef, unknown>;
export declare function assignmentSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<AssignmentSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const AssignmentSchemasValue$inboundSchema: z.ZodType<AssignmentSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const Result$inboundSchema: z.ZodType<Result, z.ZodTypeDef, unknown>;
export declare function resultFromJSON(jsonString: string): SafeParseResult<Result, SDKValidationError>;
/** @internal */
export declare const AssignmentSchemasStatus4$inboundSchema: z.ZodType<AssignmentSchemasStatus4, z.ZodTypeDef, unknown>;
export declare function assignmentSchemasStatus4FromJSON(jsonString: string): SafeParseResult<AssignmentSchemasStatus4, SDKValidationError>;
/** @internal */
export declare const AssignmentSchemasStatusSourceValue$inboundSchema: z.ZodType<AssignmentSchemasStatusSourceValue, z.ZodTypeDef, unknown>;
export declare function assignmentSchemasStatusSourceValueFromJSON(jsonString: string): SafeParseResult<AssignmentSchemasStatusSourceValue, SDKValidationError>;
/** @internal */
export declare const AssignmentSchemasStatusValue$inboundSchema: z.ZodType<AssignmentSchemasStatusValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const AssignmentStatus$inboundSchema: z.ZodType<AssignmentStatus, z.ZodTypeDef, unknown>;
export declare function assignmentStatusFromJSON(jsonString: string): SafeParseResult<AssignmentStatus, SDKValidationError>;
/** @internal */
export declare const Assignment$inboundSchema: z.ZodType<Assignment, z.ZodTypeDef, unknown>;
export declare function assignmentFromJSON(jsonString: string): SafeParseResult<Assignment, SDKValidationError>;
//# sourceMappingURL=assignment.d.ts.map