import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { ContentLanguageEnum, ContentLanguageEnum$Outbound } from "./contentlanguageenum.js";
import { CreateCategoriesApiModel, CreateCategoriesApiModel$Outbound } from "./createcategoriesapimodel.js";
export declare enum LmsUpsertContentRequestDto2 {
    True = "true",
    False = "false"
}
/**
 * Whether the content is active and available for users.
 */
export type LmsUpsertContentRequestDtoActive = boolean | LmsUpsertContentRequestDto2;
export type LmsUpsertContentRequestDto4 = {};
export type LmsUpsertContentRequestDtoSourceValue = LmsUpsertContentRequestDto4 | string | number | boolean | Array<any>;
export declare enum LmsUpsertContentRequestDtoValue {
    Automatic = "automatic",
    Browser = "browser"
}
export type LmsUpsertContentRequestDtoValueOpen = OpenEnum<typeof LmsUpsertContentRequestDtoValue>;
/**
 * The content launch method associated with this content
 */
export type LmsUpsertContentRequestDtoContentLaunchMethod = {
    sourceValue?: LmsUpsertContentRequestDto4 | string | number | boolean | Array<any> | null | undefined;
    value?: LmsUpsertContentRequestDtoValueOpen | null | undefined;
};
export type LmsUpsertContentRequestDtoSchemas4 = {};
export type LmsUpsertContentRequestDtoSchemasSourceValue = LmsUpsertContentRequestDtoSchemas4 | string | number | boolean | Array<any>;
export declare enum LmsUpsertContentRequestDtoSchemasValue {
    Video = "video",
    Quiz = "quiz",
    Document = "document"
}
export type LmsUpsertContentRequestDtoSchemasValueOpen = OpenEnum<typeof LmsUpsertContentRequestDtoSchemasValue>;
/**
 * The type of content
 */
export type LmsUpsertContentRequestDtoContentType = {
    sourceValue?: LmsUpsertContentRequestDtoSchemas4 | string | number | boolean | Array<any> | null | undefined;
    value?: LmsUpsertContentRequestDtoSchemasValueOpen | null | undefined;
};
export type LmsUpsertContentRequestDto = {
    /**
     * Whether the content is active and available for users.
     */
    active?: boolean | LmsUpsertContentRequestDto2 | null | undefined;
    /**
     * The categories associated with this content
     */
    categories?: Array<CreateCategoriesApiModel> | null | undefined;
    /**
     * The content launch method associated with this content
     */
    contentLaunchMethod?: LmsUpsertContentRequestDtoContentLaunchMethod | null | undefined;
    /**
     * The type of content
     */
    contentType?: LmsUpsertContentRequestDtoContentType | null | undefined;
    /**
     * The external URL of the content
     */
    contentUrl?: string | null | undefined;
    /**
     * The parent IDs associated with this content
     */
    courseIds?: Array<string> | null | undefined;
    /**
     * The URL of the thumbnail image associated with the content.
     */
    coverUrl?: string | 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 | null | undefined;
    /**
     * The languages associated with this content
     */
    languages?: Array<ContentLanguageEnum> | null | undefined;
    /**
     * The order of the individual content within a content grouping. This is not applicable for pushing individual content.
     */
    order?: number | 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;
};
/** @internal */
export declare const LmsUpsertContentRequestDto2$inboundSchema: z.ZodNativeEnum<typeof LmsUpsertContentRequestDto2>;
/** @internal */
export declare const LmsUpsertContentRequestDto2$outboundSchema: z.ZodNativeEnum<typeof LmsUpsertContentRequestDto2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDto2$ {
    /** @deprecated use `LmsUpsertContentRequestDto2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof LmsUpsertContentRequestDto2>;
    /** @deprecated use `LmsUpsertContentRequestDto2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof LmsUpsertContentRequestDto2>;
}
/** @internal */
export declare const LmsUpsertContentRequestDtoActive$inboundSchema: z.ZodType<LmsUpsertContentRequestDtoActive, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertContentRequestDtoActive$Outbound = boolean | string;
/** @internal */
export declare const LmsUpsertContentRequestDtoActive$outboundSchema: z.ZodType<LmsUpsertContentRequestDtoActive$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoActive>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDtoActive$ {
    /** @deprecated use `LmsUpsertContentRequestDtoActive$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDtoActive, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDtoActive$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDtoActive$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoActive>;
    /** @deprecated use `LmsUpsertContentRequestDtoActive$Outbound` instead. */
    type Outbound = LmsUpsertContentRequestDtoActive$Outbound;
}
/** @internal */
export declare const LmsUpsertContentRequestDto4$inboundSchema: z.ZodType<LmsUpsertContentRequestDto4, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertContentRequestDto4$Outbound = {};
/** @internal */
export declare const LmsUpsertContentRequestDto4$outboundSchema: z.ZodType<LmsUpsertContentRequestDto4$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDto4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDto4$ {
    /** @deprecated use `LmsUpsertContentRequestDto4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDto4, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDto4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDto4$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDto4>;
    /** @deprecated use `LmsUpsertContentRequestDto4$Outbound` instead. */
    type Outbound = LmsUpsertContentRequestDto4$Outbound;
}
/** @internal */
export declare const LmsUpsertContentRequestDtoSourceValue$inboundSchema: z.ZodType<LmsUpsertContentRequestDtoSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertContentRequestDtoSourceValue$Outbound = LmsUpsertContentRequestDto4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const LmsUpsertContentRequestDtoSourceValue$outboundSchema: z.ZodType<LmsUpsertContentRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDtoSourceValue$ {
    /** @deprecated use `LmsUpsertContentRequestDtoSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDtoSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDtoSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDtoSourceValue$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoSourceValue>;
    /** @deprecated use `LmsUpsertContentRequestDtoSourceValue$Outbound` instead. */
    type Outbound = LmsUpsertContentRequestDtoSourceValue$Outbound;
}
/** @internal */
export declare const LmsUpsertContentRequestDtoValue$inboundSchema: z.ZodType<LmsUpsertContentRequestDtoValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const LmsUpsertContentRequestDtoValue$outboundSchema: z.ZodType<LmsUpsertContentRequestDtoValueOpen, z.ZodTypeDef, LmsUpsertContentRequestDtoValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDtoValue$ {
    /** @deprecated use `LmsUpsertContentRequestDtoValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDtoValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDtoValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDtoValueOpen, z.ZodTypeDef, LmsUpsertContentRequestDtoValueOpen>;
}
/** @internal */
export declare const LmsUpsertContentRequestDtoContentLaunchMethod$inboundSchema: z.ZodType<LmsUpsertContentRequestDtoContentLaunchMethod, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertContentRequestDtoContentLaunchMethod$Outbound = {
    source_value?: LmsUpsertContentRequestDto4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const LmsUpsertContentRequestDtoContentLaunchMethod$outboundSchema: z.ZodType<LmsUpsertContentRequestDtoContentLaunchMethod$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoContentLaunchMethod>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDtoContentLaunchMethod$ {
    /** @deprecated use `LmsUpsertContentRequestDtoContentLaunchMethod$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDtoContentLaunchMethod, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDtoContentLaunchMethod$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDtoContentLaunchMethod$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoContentLaunchMethod>;
    /** @deprecated use `LmsUpsertContentRequestDtoContentLaunchMethod$Outbound` instead. */
    type Outbound = LmsUpsertContentRequestDtoContentLaunchMethod$Outbound;
}
/** @internal */
export declare const LmsUpsertContentRequestDtoSchemas4$inboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertContentRequestDtoSchemas4$Outbound = {};
/** @internal */
export declare const LmsUpsertContentRequestDtoSchemas4$outboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemas4$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDtoSchemas4$ {
    /** @deprecated use `LmsUpsertContentRequestDtoSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDtoSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemas4$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoSchemas4>;
    /** @deprecated use `LmsUpsertContentRequestDtoSchemas4$Outbound` instead. */
    type Outbound = LmsUpsertContentRequestDtoSchemas4$Outbound;
}
/** @internal */
export declare const LmsUpsertContentRequestDtoSchemasSourceValue$inboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertContentRequestDtoSchemasSourceValue$Outbound = LmsUpsertContentRequestDtoSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const LmsUpsertContentRequestDtoSchemasSourceValue$outboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemasSourceValue$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDtoSchemasSourceValue$ {
    /** @deprecated use `LmsUpsertContentRequestDtoSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDtoSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemasSourceValue$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoSchemasSourceValue>;
    /** @deprecated use `LmsUpsertContentRequestDtoSchemasSourceValue$Outbound` instead. */
    type Outbound = LmsUpsertContentRequestDtoSchemasSourceValue$Outbound;
}
/** @internal */
export declare const LmsUpsertContentRequestDtoSchemasValue$inboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const LmsUpsertContentRequestDtoSchemasValue$outboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemasValueOpen, z.ZodTypeDef, LmsUpsertContentRequestDtoSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDtoSchemasValue$ {
    /** @deprecated use `LmsUpsertContentRequestDtoSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDtoSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDtoSchemasValueOpen, z.ZodTypeDef, LmsUpsertContentRequestDtoSchemasValueOpen>;
}
/** @internal */
export declare const LmsUpsertContentRequestDtoContentType$inboundSchema: z.ZodType<LmsUpsertContentRequestDtoContentType, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertContentRequestDtoContentType$Outbound = {
    source_value?: LmsUpsertContentRequestDtoSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const LmsUpsertContentRequestDtoContentType$outboundSchema: z.ZodType<LmsUpsertContentRequestDtoContentType$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoContentType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDtoContentType$ {
    /** @deprecated use `LmsUpsertContentRequestDtoContentType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDtoContentType, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDtoContentType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDtoContentType$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDtoContentType>;
    /** @deprecated use `LmsUpsertContentRequestDtoContentType$Outbound` instead. */
    type Outbound = LmsUpsertContentRequestDtoContentType$Outbound;
}
/** @internal */
export declare const LmsUpsertContentRequestDto$inboundSchema: z.ZodType<LmsUpsertContentRequestDto, z.ZodTypeDef, unknown>;
/** @internal */
export type LmsUpsertContentRequestDto$Outbound = {
    active?: boolean | string | null | undefined;
    categories?: Array<CreateCategoriesApiModel$Outbound> | null | undefined;
    content_launch_method?: LmsUpsertContentRequestDtoContentLaunchMethod$Outbound | null | undefined;
    content_type?: LmsUpsertContentRequestDtoContentType$Outbound | null | undefined;
    content_url?: string | null | undefined;
    course_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<ContentLanguageEnum$Outbound> | null | undefined;
    order?: number | null | undefined;
    title?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const LmsUpsertContentRequestDto$outboundSchema: z.ZodType<LmsUpsertContentRequestDto$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDto>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace LmsUpsertContentRequestDto$ {
    /** @deprecated use `LmsUpsertContentRequestDto$inboundSchema` instead. */
    const inboundSchema: z.ZodType<LmsUpsertContentRequestDto, z.ZodTypeDef, unknown>;
    /** @deprecated use `LmsUpsertContentRequestDto$outboundSchema` instead. */
    const outboundSchema: z.ZodType<LmsUpsertContentRequestDto$Outbound, z.ZodTypeDef, LmsUpsertContentRequestDto>;
    /** @deprecated use `LmsUpsertContentRequestDto$Outbound` instead. */
    type Outbound = LmsUpsertContentRequestDto$Outbound;
}
//# sourceMappingURL=lmsupsertcontentrequestdto.d.ts.map