import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { CreateCategoriesApiModel, CreateCategoriesApiModel$Outbound } from "./createcategoriesapimodel.js";
import { CreateContentApiModel, CreateContentApiModel$Outbound } from "./createcontentapimodel.js";
import { CreateSkillsApiModel, CreateSkillsApiModel$Outbound } from "./createskillsapimodel.js";
import { LanguageEnum, LanguageEnum$Outbound } from "./languageenum.js";
export type LmsUpsertCourseRequestDto = {
    /**
     * Whether the course is active and available for users.
     */
    active?: boolean | null | undefined;
    /**
     * The categories associated with this content
     */
    categories?: Array<CreateCategoriesApiModel> | null | undefined;
    /**
     * The content associated with this course
     */
    content?: Array<CreateContentApiModel> | null | undefined;
    /**
     * The child IDs associated with this course
     */
    contentIds?: Array<string> | null | undefined;
    /**
     * The URL of the thumbnail image associated with the course.
     */
    coverUrl?: string | null | undefined;
    /**
     * The description of the course
     */
    description?: string | null | undefined;
    /**
     * The duration of the course following the ISO8601 standard. If duration_unit is applicable we will derive this from the smallest unit given in the duration string
     */
    duration?: string | null | undefined;
    /**
     * The external ID associated with this course
     */
    externalReference?: string | null | undefined;
    /**
     * The languages associated with this course
     */
    languages?: Array<LanguageEnum> | null | undefined;
    /**
     * The skills associated with this content
     */
    skills?: Array<CreateSkillsApiModel> | null | undefined;
    /**
     * The title of the course
     */
    title?: string | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The redirect URL of the course.
     */
    url?: string | null | undefined;
};
/** @internal */
export declare const LmsUpsertCourseRequestDto$inboundSchema: z.ZodType<LmsUpsertCourseRequestDto, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertCourseRequestDto$Outbound = {
    active?: boolean | null | undefined;
    categories?: Array<CreateCategoriesApiModel$Outbound> | null | undefined;
    content?: Array<CreateContentApiModel$Outbound> | null | undefined;
    content_ids?: Array<string> | null | undefined;
    cover_url?: string | null | undefined;
    description?: string | null | undefined;
    duration?: string | null | undefined;
    external_reference?: string | null | undefined;
    languages?: Array<LanguageEnum$Outbound> | null | undefined;
    skills?: Array<CreateSkillsApiModel$Outbound> | null | undefined;
    title?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    url?: string | null | undefined;
};
/** @internal */
export declare const LmsUpsertCourseRequestDto$outboundSchema: z.ZodType<LmsUpsertCourseRequestDto$Outbound, z.ZodTypeDef, LmsUpsertCourseRequestDto>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertCourseRequestDto$ {
    /** @deprecated use `LmsUpsertCourseRequestDto$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertCourseRequestDto, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertCourseRequestDto$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertCourseRequestDto$Outbound, z.ZodTypeDef, LmsUpsertCourseRequestDto>;
    /** @deprecated use `LmsUpsertCourseRequestDto$Outbound` instead. */
    type Outbound = LmsUpsertCourseRequestDto$Outbound;
}
export declare function lmsUpsertCourseRequestDtoToJSON(lmsUpsertCourseRequestDto: LmsUpsertCourseRequestDto): string;
export declare function lmsUpsertCourseRequestDtoFromJSON(jsonString: string): SafeParseResult<LmsUpsertCourseRequestDto, SDKValidationError>;
//# sourceMappingURL=lmsupsertcourserequestdto.d.ts.map