import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { AdditionalData, AdditionalData$Outbound } from "./additionaldata.js";
import { AuthorModel, AuthorModel$Outbound } from "./authormodel.js";
import { CreateCategoriesApiModel, CreateCategoriesApiModel$Outbound } from "./createcategoriesapimodel.js";
import { CreateSkillsApiModel, CreateSkillsApiModel$Outbound } from "./createskillsapimodel.js";
import { LanguageEnum, LanguageEnum$Outbound } from "./languageenum.js";
import { LocalizationModel, LocalizationModel$Outbound } from "./localizationmodel.js";
export declare enum LmsCreateContentRequestDto2 {
    True = "true",
    False = "false"
}
/**
 * Whether the content is active and available for users.
 */
export type LmsCreateContentRequestDtoActive = boolean | LmsCreateContentRequestDto2;
export type LmsCreateContentRequestDto4 = {};
/**
 * The provider-specific value to use when value is omitted or set to "unmapped_value". You are responsible for ensuring this matches the provider's expected format.
 */
export type LmsCreateContentRequestDtoSourceValue = string | number | boolean | LmsCreateContentRequestDto4 | Array<any>;
/**
 * The content type for write operations. Provide one of the listed enum values. If omitted or set to "unmapped_value", the source_value will be sent to the provider instead.
 */
export declare enum LmsCreateContentRequestDtoValue {
    Video = "video",
    Quiz = "quiz",
    Document = "document",
    Audio = "audio",
    Article = "article",
    Book = "book",
    Event = "event",
    Course = "course",
    Collection = "collection",
    Interactive = "interactive",
    UnmappedValue = "unmapped_value"
}
/**
 * The content type for write operations. Provide one of the listed enum values. If omitted or set to "unmapped_value", the source_value will be sent to the provider instead.
 */
export type LmsCreateContentRequestDtoValueOpen = OpenEnum<typeof LmsCreateContentRequestDtoValue>;
/**
 * The type of content
 */
export type LmsCreateContentRequestDtoContentType = {
    /**
     * The provider-specific value to use when value is omitted or set to "unmapped_value". You are responsible for ensuring this matches the provider's expected format.
     */
    sourceValue?: string | number | boolean | LmsCreateContentRequestDto4 | Array<any> | null | undefined;
    /**
     * The content type for write operations. Provide one of the listed enum values. If omitted or set to "unmapped_value", the source_value will be sent to the provider instead.
     */
    value?: LmsCreateContentRequestDtoValueOpen | null | undefined;
};
export type LmsCreateContentRequestDto = {
    /**
     * Whether the content is active and available for users.
     */
    active?: boolean | LmsCreateContentRequestDto2 | null | undefined;
    /**
     * The additional_data associated with this content
     */
    additionalData?: Array<AdditionalData> | null | undefined;
    /**
     * The authors of the content
     */
    authors?: Array<AuthorModel> | null | undefined;
    /**
     * The categories associated with this content
     */
    categories?: Array<CreateCategoriesApiModel> | null | undefined;
    /**
     * The type of content
     */
    contentType?: LmsCreateContentRequestDtoContentType | null | undefined;
    /**
     * The external URL of the content
     */
    contentUrl?: string | null | undefined;
    /**
     * The URL of the thumbnail image associated with the content.
     */
    coverUrl?: string | null | undefined;
    /**
     * The date on which the content was created.
     */
    createdAt?: Date | null | undefined;
    /**
     * The description of the content
     */
    description?: string | null | undefined;
    /**
     * The duration of the content following the ISO8601 standard. If duration_unit is applicable we will derive this from the smallest unit given in the duration string or the minimum unit accepted by the provider.
     */
    duration?: string | null | undefined;
    /**
     * The external ID associated with this content
     */
    externalReference: string;
    /**
     * The languages associated with this content
     */
    languages?: Array<LanguageEnum> | null | undefined;
    /**
     * The localization data for this content
     */
    localizations?: Array<LocalizationModel> | null | undefined;
    /**
     * The mobile friendly URL of the content
     */
    mobileLaunchContentUrl?: string | null | undefined;
    /**
     * The order of the individual content within a content grouping. This is not applicable for pushing individual content.
     */
    order?: number | null | undefined;
    /**
     * A short description or summary for the content
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    shortDescription?: string | null | undefined;
    /**
     * The skills associated with this content
     */
    skills?: Array<CreateSkillsApiModel> | null | undefined;
    /**
     * A list of tags associated with the content
     */
    tags?: Array<string> | null | undefined;
    /**
     * The title of the content
     */
    title?: string | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The date on which the content was last updated.
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const LmsCreateContentRequestDto2$outboundSchema: z.ZodNativeEnum<typeof LmsCreateContentRequestDto2>;
/** @internal */
export type LmsCreateContentRequestDtoActive$Outbound = boolean | string;
/** @internal */
export declare const LmsCreateContentRequestDtoActive$outboundSchema: z.ZodType<LmsCreateContentRequestDtoActive$Outbound, z.ZodTypeDef, LmsCreateContentRequestDtoActive>;
export declare function lmsCreateContentRequestDtoActiveToJSON(lmsCreateContentRequestDtoActive: LmsCreateContentRequestDtoActive): string;
/** @internal */
export type LmsCreateContentRequestDto4$Outbound = {};
/** @internal */
export declare const LmsCreateContentRequestDto4$outboundSchema: z.ZodType<LmsCreateContentRequestDto4$Outbound, z.ZodTypeDef, LmsCreateContentRequestDto4>;
export declare function lmsCreateContentRequestDto4ToJSON(lmsCreateContentRequestDto4: LmsCreateContentRequestDto4): string;
/** @internal */
export type LmsCreateContentRequestDtoSourceValue$Outbound = string | number | boolean | LmsCreateContentRequestDto4$Outbound | Array<any>;
/** @internal */
export declare const LmsCreateContentRequestDtoSourceValue$outboundSchema: z.ZodType<LmsCreateContentRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsCreateContentRequestDtoSourceValue>;
export declare function lmsCreateContentRequestDtoSourceValueToJSON(lmsCreateContentRequestDtoSourceValue: LmsCreateContentRequestDtoSourceValue): string;
/** @internal */
export declare const LmsCreateContentRequestDtoValue$outboundSchema: z.ZodType<string, z.ZodTypeDef, LmsCreateContentRequestDtoValueOpen>;
/** @internal */
export type LmsCreateContentRequestDtoContentType$Outbound = {
    source_value?: string | number | boolean | LmsCreateContentRequestDto4$Outbound | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const LmsCreateContentRequestDtoContentType$outboundSchema: z.ZodType<LmsCreateContentRequestDtoContentType$Outbound, z.ZodTypeDef, LmsCreateContentRequestDtoContentType>;
export declare function lmsCreateContentRequestDtoContentTypeToJSON(lmsCreateContentRequestDtoContentType: LmsCreateContentRequestDtoContentType): string;
/** @internal */
export type LmsCreateContentRequestDto$Outbound = {
    active?: boolean | string | null | undefined;
    additional_data?: Array<AdditionalData$Outbound> | null | undefined;
    authors?: Array<AuthorModel$Outbound> | null | undefined;
    categories?: Array<CreateCategoriesApiModel$Outbound> | null | undefined;
    content_type?: LmsCreateContentRequestDtoContentType$Outbound | null | undefined;
    content_url?: string | null | undefined;
    cover_url?: string | null | undefined;
    created_at?: string | null | undefined;
    description?: string | null | undefined;
    duration?: string | null | undefined;
    external_reference: string;
    languages?: Array<LanguageEnum$Outbound> | null | undefined;
    localizations?: Array<LocalizationModel$Outbound> | null | undefined;
    mobile_launch_content_url?: string | null | undefined;
    order?: number | null | undefined;
    short_description?: string | null | undefined;
    skills?: Array<CreateSkillsApiModel$Outbound> | null | undefined;
    tags?: Array<string> | null | undefined;
    title?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const LmsCreateContentRequestDto$outboundSchema: z.ZodType<LmsCreateContentRequestDto$Outbound, z.ZodTypeDef, LmsCreateContentRequestDto>;
export declare function lmsCreateContentRequestDtoToJSON(lmsCreateContentRequestDto: LmsCreateContentRequestDto): string;
//# sourceMappingURL=lmscreatecontentrequestdto.d.ts.map