import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Category, Category$Outbound } from "./category.js";
import { ContentLanguageEnum, ContentLanguageEnum$Outbound } from "./contentlanguageenum.js";
import { Skills, Skills$Outbound } from "./skills.js";
export type Course4 = {};
export type CourseSourceValue = Course4 | string | number | boolean | Array<any>;
export declare enum CourseValue {
    Active = "ACTIVE",
    Inactive = "INACTIVE"
}
export type CourseValueOpen = OpenEnum<typeof CourseValue>;
/**
 * Whether the course is active and available for users.
 */
export type CourseActive = {
    sourceValue?: Course4 | string | number | boolean | Array<any> | null | undefined;
    value?: CourseValueOpen | null | undefined;
};
export type CourseSchemas4 = {};
export type CourseSchemasSourceValue = CourseSchemas4 | string | number | boolean | Array<any>;
export declare enum CourseSchemasValue {
    Video = "video",
    Quiz = "quiz",
    Document = "document"
}
export type CourseSchemasValueOpen = OpenEnum<typeof CourseSchemasValue>;
/**
 * The media type for the course
 */
export type CourseType = {
    sourceValue?: CourseSchemas4 | string | number | boolean | Array<any> | null | undefined;
    value?: CourseSchemasValueOpen | null | undefined;
};
export type Course = {
    /**
     * Whether the course is active and available for users.
     */
    active?: CourseActive | null | undefined;
    /**
     * The categories associated with this course
     */
    categories?: Array<Category> | null | undefined;
    /**
     * The child ID/IDs associated with this course
     */
    contentIds?: Array<string> | null | undefined;
    /**
     * The media type for the course
     */
    courseType?: CourseType | null | undefined;
    /**
     * The URL of the thumbnail image associated with the course.
     */
    coverUrl?: string | null | undefined;
    /**
     * The date on which the course was created.
     */
    createdAt?: 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 ID associated with this course
     */
    id?: string | null | undefined;
    /**
     * The languages associated with this course
     */
    languages?: Array<ContentLanguageEnum> | null | undefined;
    /**
     * Provider's unique identifier of the child content IDs associated with this course
     */
    remoteContentIds?: Array<string> | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * The skills associated with this course
     */
    skills?: Array<Skills> | 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 date on which the course was last updated.
     */
    updatedAt?: string | null | undefined;
    /**
     * The redirect URL of the course.
     */
    url?: string | null | undefined;
};
/** @internal */
export declare const Course4$inboundSchema: z.ZodType<Course4, z.ZodTypeDef, unknown>;
/** @internal */
export type Course4$Outbound = {};
/** @internal */
export declare const Course4$outboundSchema: z.ZodType<Course4$Outbound, z.ZodTypeDef, Course4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Course4$ {
    /** @deprecated use `Course4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Course4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Course4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Course4$Outbound, z.ZodTypeDef, Course4>;
    /** @deprecated use `Course4$Outbound` instead. */
    type Outbound = Course4$Outbound;
}
/** @internal */
export declare const CourseSourceValue$inboundSchema: z.ZodType<CourseSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type CourseSourceValue$Outbound = Course4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const CourseSourceValue$outboundSchema: z.ZodType<CourseSourceValue$Outbound, z.ZodTypeDef, CourseSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CourseSourceValue$ {
    /** @deprecated use `CourseSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CourseSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `CourseSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CourseSourceValue$Outbound, z.ZodTypeDef, CourseSourceValue>;
    /** @deprecated use `CourseSourceValue$Outbound` instead. */
    type Outbound = CourseSourceValue$Outbound;
}
/** @internal */
export declare const CourseValue$inboundSchema: z.ZodType<CourseValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const CourseValue$outboundSchema: z.ZodType<CourseValueOpen, z.ZodTypeDef, CourseValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CourseValue$ {
    /** @deprecated use `CourseValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CourseValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `CourseValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CourseValueOpen, z.ZodTypeDef, CourseValueOpen>;
}
/** @internal */
export declare const CourseActive$inboundSchema: z.ZodType<CourseActive, z.ZodTypeDef, unknown>;
/** @internal */
export type CourseActive$Outbound = {
    source_value?: Course4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const CourseActive$outboundSchema: z.ZodType<CourseActive$Outbound, z.ZodTypeDef, CourseActive>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CourseActive$ {
    /** @deprecated use `CourseActive$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CourseActive, z.ZodTypeDef, unknown>;
    /** @deprecated use `CourseActive$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CourseActive$Outbound, z.ZodTypeDef, CourseActive>;
    /** @deprecated use `CourseActive$Outbound` instead. */
    type Outbound = CourseActive$Outbound;
}
/** @internal */
export declare const CourseSchemas4$inboundSchema: z.ZodType<CourseSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type CourseSchemas4$Outbound = {};
/** @internal */
export declare const CourseSchemas4$outboundSchema: z.ZodType<CourseSchemas4$Outbound, z.ZodTypeDef, CourseSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CourseSchemas4$ {
    /** @deprecated use `CourseSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CourseSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `CourseSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CourseSchemas4$Outbound, z.ZodTypeDef, CourseSchemas4>;
    /** @deprecated use `CourseSchemas4$Outbound` instead. */
    type Outbound = CourseSchemas4$Outbound;
}
/** @internal */
export declare const CourseSchemasSourceValue$inboundSchema: z.ZodType<CourseSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type CourseSchemasSourceValue$Outbound = CourseSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const CourseSchemasSourceValue$outboundSchema: z.ZodType<CourseSchemasSourceValue$Outbound, z.ZodTypeDef, CourseSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CourseSchemasSourceValue$ {
    /** @deprecated use `CourseSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CourseSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `CourseSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CourseSchemasSourceValue$Outbound, z.ZodTypeDef, CourseSchemasSourceValue>;
    /** @deprecated use `CourseSchemasSourceValue$Outbound` instead. */
    type Outbound = CourseSchemasSourceValue$Outbound;
}
/** @internal */
export declare const CourseSchemasValue$inboundSchema: z.ZodType<CourseSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const CourseSchemasValue$outboundSchema: z.ZodType<CourseSchemasValueOpen, z.ZodTypeDef, CourseSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CourseSchemasValue$ {
    /** @deprecated use `CourseSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CourseSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `CourseSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CourseSchemasValueOpen, z.ZodTypeDef, CourseSchemasValueOpen>;
}
/** @internal */
export declare const CourseType$inboundSchema: z.ZodType<CourseType, z.ZodTypeDef, unknown>;
/** @internal */
export type CourseType$Outbound = {
    source_value?: CourseSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const CourseType$outboundSchema: z.ZodType<CourseType$Outbound, z.ZodTypeDef, CourseType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CourseType$ {
    /** @deprecated use `CourseType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CourseType, z.ZodTypeDef, unknown>;
    /** @deprecated use `CourseType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CourseType$Outbound, z.ZodTypeDef, CourseType>;
    /** @deprecated use `CourseType$Outbound` instead. */
    type Outbound = CourseType$Outbound;
}
/** @internal */
export declare const Course$inboundSchema: z.ZodType<Course, z.ZodTypeDef, unknown>;
/** @internal */
export type Course$Outbound = {
    active?: CourseActive$Outbound | null | undefined;
    categories?: Array<Category$Outbound> | null | undefined;
    content_ids?: Array<string> | null | undefined;
    course_type?: CourseType$Outbound | null | undefined;
    cover_url?: string | null | undefined;
    created_at?: string | null | undefined;
    description?: string | null | undefined;
    duration?: string | null | undefined;
    external_reference?: string | null | undefined;
    id?: string | null | undefined;
    languages?: Array<ContentLanguageEnum$Outbound> | null | undefined;
    remote_content_ids?: Array<string> | null | undefined;
    remote_id?: string | null | undefined;
    skills?: Array<Skills$Outbound> | null | undefined;
    title?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
    url?: string | null | undefined;
};
/** @internal */
export declare const Course$outboundSchema: z.ZodType<Course$Outbound, z.ZodTypeDef, Course>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Course$ {
    /** @deprecated use `Course$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Course, z.ZodTypeDef, unknown>;
    /** @deprecated use `Course$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Course$Outbound, z.ZodTypeDef, Course>;
    /** @deprecated use `Course$Outbound` instead. */
    type Outbound = Course$Outbound;
}
//# sourceMappingURL=course.d.ts.map