import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type LmsCreateAssignmentRequestDto4 = {};
export type LmsCreateAssignmentRequestDtoSourceValue = LmsCreateAssignmentRequestDto4 | string | number | boolean | Array<any>;
export declare enum LmsCreateAssignmentRequestDtoValue {
    Pending = "pending",
    InProgress = "in_progress",
    Completed = "completed"
}
export type LmsCreateAssignmentRequestDtoValueOpen = OpenEnum<typeof LmsCreateAssignmentRequestDtoValue>;
/**
 * The status of the assignment
 */
export type LmsCreateAssignmentRequestDtoStatus = {
    sourceValue?: LmsCreateAssignmentRequestDto4 | string | number | boolean | Array<any> | null | undefined;
    value?: LmsCreateAssignmentRequestDtoValueOpen | null | undefined;
};
export type LmsCreateAssignmentRequestDto = {
    /**
     * The date the assignment was created
     */
    createdAt?: string | null | undefined;
    /**
     * The date the assignment is due to be completed
     */
    dueDate?: string | null | undefined;
    /**
     * The external reference associated with this assignment
     */
    externalReference?: string | null | undefined;
    /**
     * The external reference of the learning object associated with this assignment
     */
    learningObjectExternalReference?: string | null | undefined;
    /**
     * The learning_object_id associated with this assignment
     */
    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 declare const LmsCreateAssignmentRequestDto4$inboundSchema: z.ZodType<LmsCreateAssignmentRequestDto4, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsCreateAssignmentRequestDto4$Outbound = {};
/** @internal */
export declare const LmsCreateAssignmentRequestDto4$outboundSchema: z.ZodType<LmsCreateAssignmentRequestDto4$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDto4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateAssignmentRequestDto4$ {
    /** @deprecated use `LmsCreateAssignmentRequestDto4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateAssignmentRequestDto4, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateAssignmentRequestDto4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateAssignmentRequestDto4$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDto4>;
    /** @deprecated use `LmsCreateAssignmentRequestDto4$Outbound` instead. */
    type Outbound = LmsCreateAssignmentRequestDto4$Outbound;
}
export declare function lmsCreateAssignmentRequestDto4ToJSON(lmsCreateAssignmentRequestDto4: LmsCreateAssignmentRequestDto4): string;
export declare function lmsCreateAssignmentRequestDto4FromJSON(jsonString: string): SafeParseResult<LmsCreateAssignmentRequestDto4, SDKValidationError>;
/** @internal */
export declare const LmsCreateAssignmentRequestDtoSourceValue$inboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsCreateAssignmentRequestDtoSourceValue$Outbound = LmsCreateAssignmentRequestDto4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const LmsCreateAssignmentRequestDtoSourceValue$outboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDtoSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateAssignmentRequestDtoSourceValue$ {
    /** @deprecated use `LmsCreateAssignmentRequestDtoSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateAssignmentRequestDtoSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDtoSourceValue>;
    /** @deprecated use `LmsCreateAssignmentRequestDtoSourceValue$Outbound` instead. */
    type Outbound = LmsCreateAssignmentRequestDtoSourceValue$Outbound;
}
export declare function lmsCreateAssignmentRequestDtoSourceValueToJSON(lmsCreateAssignmentRequestDtoSourceValue: LmsCreateAssignmentRequestDtoSourceValue): string;
export declare function lmsCreateAssignmentRequestDtoSourceValueFromJSON(jsonString: string): SafeParseResult<LmsCreateAssignmentRequestDtoSourceValue, SDKValidationError>;
/** @internal */
export declare const LmsCreateAssignmentRequestDtoValue$inboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const LmsCreateAssignmentRequestDtoValue$outboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoValueOpen, z.ZodTypeDef, LmsCreateAssignmentRequestDtoValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateAssignmentRequestDtoValue$ {
    /** @deprecated use `LmsCreateAssignmentRequestDtoValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateAssignmentRequestDtoValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoValueOpen, z.ZodTypeDef, LmsCreateAssignmentRequestDtoValueOpen>;
}
/** @internal */
export declare const LmsCreateAssignmentRequestDtoStatus$inboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsCreateAssignmentRequestDtoStatus$Outbound = {
    source_value?: LmsCreateAssignmentRequestDto4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const LmsCreateAssignmentRequestDtoStatus$outboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoStatus$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDtoStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateAssignmentRequestDtoStatus$ {
    /** @deprecated use `LmsCreateAssignmentRequestDtoStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateAssignmentRequestDtoStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateAssignmentRequestDtoStatus$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDtoStatus>;
    /** @deprecated use `LmsCreateAssignmentRequestDtoStatus$Outbound` instead. */
    type Outbound = LmsCreateAssignmentRequestDtoStatus$Outbound;
}
export declare function lmsCreateAssignmentRequestDtoStatusToJSON(lmsCreateAssignmentRequestDtoStatus: LmsCreateAssignmentRequestDtoStatus): string;
export declare function lmsCreateAssignmentRequestDtoStatusFromJSON(jsonString: string): SafeParseResult<LmsCreateAssignmentRequestDtoStatus, SDKValidationError>;
/** @internal */
export declare const LmsCreateAssignmentRequestDto$inboundSchema: z.ZodType<LmsCreateAssignmentRequestDto, z.ZodTypeDef, unknown>;
/** @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 | null | undefined;
    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>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateAssignmentRequestDto$ {
    /** @deprecated use `LmsCreateAssignmentRequestDto$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateAssignmentRequestDto, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateAssignmentRequestDto$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateAssignmentRequestDto$Outbound, z.ZodTypeDef, LmsCreateAssignmentRequestDto>;
    /** @deprecated use `LmsCreateAssignmentRequestDto$Outbound` instead. */
    type Outbound = LmsCreateAssignmentRequestDto$Outbound;
}
export declare function lmsCreateAssignmentRequestDtoToJSON(lmsCreateAssignmentRequestDto: LmsCreateAssignmentRequestDto): string;
export declare function lmsCreateAssignmentRequestDtoFromJSON(jsonString: string): SafeParseResult<LmsCreateAssignmentRequestDto, SDKValidationError>;
//# sourceMappingURL=lmscreateassignmentrequestdto.d.ts.map