import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
export type LmsCreateCompletionRequestDto4 = {};
/**
 * The original result status from the provider before normalization.
 */
export type LmsCreateCompletionRequestDtoSourceValue = string | number | boolean | LmsCreateCompletionRequestDto4 | Array<any>;
/**
 * The StackOne unified result status.
 */
export declare enum LmsCreateCompletionRequestDtoValue {
    Pass = "Pass",
    Fail = "Fail",
    UnmappedValue = "unmapped_value"
}
/**
 * The StackOne unified result status.
 */
export type LmsCreateCompletionRequestDtoValueOpen = OpenEnum<typeof LmsCreateCompletionRequestDtoValue>;
/**
 * The result of the completion
 */
export type LmsCreateCompletionRequestDtoResult = {
    /**
     * The original result status from the provider before normalization.
     */
    sourceValue?: string | number | boolean | LmsCreateCompletionRequestDto4 | Array<any> | null | undefined;
    /**
     * The StackOne unified result status.
     */
    value?: LmsCreateCompletionRequestDtoValueOpen | null | undefined;
};
export type LmsCreateCompletionRequestDto = {
    /**
     * The date the content was completed
     */
    completedAt?: Date | null | undefined;
    /**
     * The external reference associated with this content
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    contentExternalReference?: string | null | undefined;
    /**
     * The content ID associated with this completion
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    contentId?: string | null | undefined;
    /**
     * The external reference of the learning object associated with this completion, this is the main identifier for creating completions.
     */
    learningObjectExternalReference: string;
    /**
     * The id of the learning object associated with this completion. 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 result of the completion
     */
    result?: LmsCreateCompletionRequestDtoResult | null | undefined;
    /**
     * ISO 8601 duration format representing the time spent on completing the learning object
     */
    timeSpent?: string | null | undefined;
};
/** @internal */
export type LmsCreateCompletionRequestDto4$Outbound = {};
/** @internal */
export declare const LmsCreateCompletionRequestDto4$outboundSchema: z.ZodType<LmsCreateCompletionRequestDto4$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDto4>;
export declare function lmsCreateCompletionRequestDto4ToJSON(lmsCreateCompletionRequestDto4: LmsCreateCompletionRequestDto4): string;
/** @internal */
export type LmsCreateCompletionRequestDtoSourceValue$Outbound = string | number | boolean | LmsCreateCompletionRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const LmsCreateCompletionRequestDtoSourceValue$outboundSchema: z.ZodType<LmsCreateCompletionRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDtoSourceValue>;
export declare function lmsCreateCompletionRequestDtoSourceValueToJSON(lmsCreateCompletionRequestDtoSourceValue: LmsCreateCompletionRequestDtoSourceValue): string;
/** @internal */
export declare const LmsCreateCompletionRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, LmsCreateCompletionRequestDtoValueOpen>;
/** @internal */
export type LmsCreateCompletionRequestDtoResult$Outbound = {
    source_value?: string | number | boolean | LmsCreateCompletionRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const LmsCreateCompletionRequestDtoResult$outboundSchema: z.ZodType<LmsCreateCompletionRequestDtoResult$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDtoResult>;
export declare function lmsCreateCompletionRequestDtoResultToJSON(lmsCreateCompletionRequestDtoResult: LmsCreateCompletionRequestDtoResult): string;
/** @internal */
export type LmsCreateCompletionRequestDto$Outbound = {
    completed_at?: string | null | undefined;
    content_external_reference?: string | null | undefined;
    content_id?: string | null | undefined;
    learning_object_external_reference: string;
    learning_object_id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    result?: LmsCreateCompletionRequestDtoResult$Outbound | null | undefined;
    time_spent?: string | null | undefined;
};
/** @internal */
export declare const LmsCreateCompletionRequestDto$outboundSchema: z.ZodType<LmsCreateCompletionRequestDto$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDto>;
export declare function lmsCreateCompletionRequestDtoToJSON(lmsCreateCompletionRequestDto: LmsCreateCompletionRequestDto): string;
//# sourceMappingURL=lmscreatecompletionrequestdto.d.ts.map