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 LmsCreateCompletionRequestDto4 = {};
export type LmsCreateCompletionRequestDtoSourceValue = LmsCreateCompletionRequestDto4 | string | number | boolean | Array<any>;
export declare enum LmsCreateCompletionRequestDtoValue {
    Pass = "Pass",
    Fail = "Fail",
    UnmappedValue = "unmapped_value"
}
export type LmsCreateCompletionRequestDtoValueOpen = OpenEnum<typeof LmsCreateCompletionRequestDtoValue>;
/**
 * The result of the completion
 */
export type LmsCreateCompletionRequestDtoResult = {
    sourceValue?: LmsCreateCompletionRequestDto4 | string | number | boolean | Array<any> | null | undefined;
    value?: LmsCreateCompletionRequestDtoValueOpen | null | undefined;
};
export type LmsCreateCompletionRequestDto = {
    /**
     * The date the content was completed
     */
    completedAt?: string | 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 | null | undefined;
    /**
     * 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;
};
/** @internal */
export declare const LmsCreateCompletionRequestDto4$inboundSchema: z.ZodType<LmsCreateCompletionRequestDto4, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsCreateCompletionRequestDto4$Outbound = {};
/** @internal */
export declare const LmsCreateCompletionRequestDto4$outboundSchema: z.ZodType<LmsCreateCompletionRequestDto4$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDto4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateCompletionRequestDto4$ {
    /** @deprecated use `LmsCreateCompletionRequestDto4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateCompletionRequestDto4, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateCompletionRequestDto4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateCompletionRequestDto4$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDto4>;
    /** @deprecated use `LmsCreateCompletionRequestDto4$Outbound` instead. */
    type Outbound = LmsCreateCompletionRequestDto4$Outbound;
}
export declare function lmsCreateCompletionRequestDto4ToJSON(lmsCreateCompletionRequestDto4: LmsCreateCompletionRequestDto4): string;
export declare function lmsCreateCompletionRequestDto4FromJSON(jsonString: string): SafeParseResult<LmsCreateCompletionRequestDto4, SDKValidationError>;
/** @internal */
export declare const LmsCreateCompletionRequestDtoSourceValue$inboundSchema: z.ZodType<LmsCreateCompletionRequestDtoSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsCreateCompletionRequestDtoSourceValue$Outbound = LmsCreateCompletionRequestDto4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const LmsCreateCompletionRequestDtoSourceValue$outboundSchema: z.ZodType<LmsCreateCompletionRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDtoSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateCompletionRequestDtoSourceValue$ {
    /** @deprecated use `LmsCreateCompletionRequestDtoSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateCompletionRequestDtoSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateCompletionRequestDtoSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateCompletionRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDtoSourceValue>;
    /** @deprecated use `LmsCreateCompletionRequestDtoSourceValue$Outbound` instead. */
    type Outbound = LmsCreateCompletionRequestDtoSourceValue$Outbound;
}
export declare function lmsCreateCompletionRequestDtoSourceValueToJSON(lmsCreateCompletionRequestDtoSourceValue: LmsCreateCompletionRequestDtoSourceValue): string;
export declare function lmsCreateCompletionRequestDtoSourceValueFromJSON(jsonString: string): SafeParseResult<LmsCreateCompletionRequestDtoSourceValue, SDKValidationError>;
/** @internal */
export declare const LmsCreateCompletionRequestDtoValue$inboundSchema: z.ZodType<LmsCreateCompletionRequestDtoValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const LmsCreateCompletionRequestDtoValue$outboundSchema: z.ZodType<LmsCreateCompletionRequestDtoValueOpen, z.ZodTypeDef, LmsCreateCompletionRequestDtoValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateCompletionRequestDtoValue$ {
    /** @deprecated use `LmsCreateCompletionRequestDtoValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateCompletionRequestDtoValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateCompletionRequestDtoValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateCompletionRequestDtoValueOpen, z.ZodTypeDef, LmsCreateCompletionRequestDtoValueOpen>;
}
/** @internal */
export declare const LmsCreateCompletionRequestDtoResult$inboundSchema: z.ZodType<LmsCreateCompletionRequestDtoResult, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsCreateCompletionRequestDtoResult$Outbound = {
    source_value?: LmsCreateCompletionRequestDto4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const LmsCreateCompletionRequestDtoResult$outboundSchema: z.ZodType<LmsCreateCompletionRequestDtoResult$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDtoResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateCompletionRequestDtoResult$ {
    /** @deprecated use `LmsCreateCompletionRequestDtoResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateCompletionRequestDtoResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateCompletionRequestDtoResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateCompletionRequestDtoResult$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDtoResult>;
    /** @deprecated use `LmsCreateCompletionRequestDtoResult$Outbound` instead. */
    type Outbound = LmsCreateCompletionRequestDtoResult$Outbound;
}
export declare function lmsCreateCompletionRequestDtoResultToJSON(lmsCreateCompletionRequestDtoResult: LmsCreateCompletionRequestDtoResult): string;
export declare function lmsCreateCompletionRequestDtoResultFromJSON(jsonString: string): SafeParseResult<LmsCreateCompletionRequestDtoResult, SDKValidationError>;
/** @internal */
export declare const LmsCreateCompletionRequestDto$inboundSchema: z.ZodType<LmsCreateCompletionRequestDto, z.ZodTypeDef, unknown>;
/** @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 | null | undefined;
    learning_object_id?: string | null | undefined;
    passthrough?: {
        [k: string]: any;
    } | null | undefined;
    result?: LmsCreateCompletionRequestDtoResult$Outbound | null | undefined;
};
/** @internal */
export declare const LmsCreateCompletionRequestDto$outboundSchema: z.ZodType<LmsCreateCompletionRequestDto$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDto>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsCreateCompletionRequestDto$ {
    /** @deprecated use `LmsCreateCompletionRequestDto$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsCreateCompletionRequestDto, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsCreateCompletionRequestDto$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsCreateCompletionRequestDto$Outbound, z.ZodTypeDef, LmsCreateCompletionRequestDto>;
    /** @deprecated use `LmsCreateCompletionRequestDto$Outbound` instead. */
    type Outbound = LmsCreateCompletionRequestDto$Outbound;
}
export declare function lmsCreateCompletionRequestDtoToJSON(lmsCreateCompletionRequestDto: LmsCreateCompletionRequestDto): string;
export declare function lmsCreateCompletionRequestDtoFromJSON(jsonString: string): SafeParseResult<LmsCreateCompletionRequestDto, SDKValidationError>;
//# sourceMappingURL=lmscreatecompletionrequestdto.d.ts.map