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";
export declare enum Content2 {
    True = "true",
    False = "false"
}
/**
 * Whether the content is active and available for users.
 */
export type Active = boolean | Content2;
export type Content4 = {};
export type ContentSourceValue = Content4 | string | number | boolean | Array<any>;
export declare enum ContentValue {
    Automatic = "automatic",
    Browser = "browser"
}
export type ContentValueOpen = OpenEnum<typeof ContentValue>;
/**
 * The content launch method associated with this content
 */
export type ContentLaunchMethod = {
    sourceValue?: Content4 | string | number | boolean | Array<any> | null | undefined;
    value?: ContentValueOpen | null | undefined;
};
export type ContentSchemas4 = {};
export type ContentSchemasSourceValue = ContentSchemas4 | string | number | boolean | Array<any>;
export declare enum ContentSchemasValue {
    Video = "video",
    Quiz = "quiz",
    Document = "document"
}
export type ContentSchemasValueOpen = OpenEnum<typeof ContentSchemasValue>;
/**
 * The type of content
 */
export type ContentContentType = {
    sourceValue?: ContentSchemas4 | string | number | boolean | Array<any> | null | undefined;
    value?: ContentSchemasValueOpen | null | undefined;
};
export type Content = {
    /**
     * Whether the content is active and available for users.
     */
    active?: boolean | Content2 | null | undefined;
    /**
     * The categories associated with this content
     */
    categories?: Array<Category> | null | undefined;
    /**
     * The content launch method associated with this content
     */
    contentLaunchMethod?: ContentLaunchMethod | null | undefined;
    /**
     * The type of content
     */
    contentType?: ContentContentType | null | undefined;
    /**
     * The external URL of the content
     */
    contentUrl?: string | null | undefined;
    /**
     * The parent ID/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 ID associated with this content
     */
    id?: 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;
    /**
     * Provider's unique identifier of the parent course ID associated with this content
     */
    remoteCourseIds?: Array<string> | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: 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;
};
/** @internal */
export declare const Content2$inboundSchema: z.ZodNativeEnum<typeof Content2>;
/** @internal */
export declare const Content2$outboundSchema: z.ZodNativeEnum<typeof Content2>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Content2$ {
    /** @deprecated use `Content2$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<typeof Content2>;
    /** @deprecated use `Content2$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<typeof Content2>;
}
/** @internal */
export declare const Active$inboundSchema: z.ZodType<Active, z.ZodTypeDef, unknown>;
/** @internal */
export type Active$Outbound = boolean | string;
/** @internal */
export declare const Active$outboundSchema: z.ZodType<Active$Outbound, z.ZodTypeDef, Active>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Active$ {
    /** @deprecated use `Active$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Active, z.ZodTypeDef, unknown>;
    /** @deprecated use `Active$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Active$Outbound, z.ZodTypeDef, Active>;
    /** @deprecated use `Active$Outbound` instead. */
    type Outbound = Active$Outbound;
}
/** @internal */
export declare const Content4$inboundSchema: z.ZodType<Content4, z.ZodTypeDef, unknown>;
/** @internal */
export type Content4$Outbound = {};
/** @internal */
export declare const Content4$outboundSchema: z.ZodType<Content4$Outbound, z.ZodTypeDef, Content4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Content4$ {
    /** @deprecated use `Content4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Content4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Content4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Content4$Outbound, z.ZodTypeDef, Content4>;
    /** @deprecated use `Content4$Outbound` instead. */
    type Outbound = Content4$Outbound;
}
/** @internal */
export declare const ContentSourceValue$inboundSchema: z.ZodType<ContentSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type ContentSourceValue$Outbound = Content4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const ContentSourceValue$outboundSchema: z.ZodType<ContentSourceValue$Outbound, z.ZodTypeDef, ContentSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ContentSourceValue$ {
    /** @deprecated use `ContentSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ContentSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `ContentSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ContentSourceValue$Outbound, z.ZodTypeDef, ContentSourceValue>;
    /** @deprecated use `ContentSourceValue$Outbound` instead. */
    type Outbound = ContentSourceValue$Outbound;
}
/** @internal */
export declare const ContentValue$inboundSchema: z.ZodType<ContentValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const ContentValue$outboundSchema: z.ZodType<ContentValueOpen, z.ZodTypeDef, ContentValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ContentValue$ {
    /** @deprecated use `ContentValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ContentValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `ContentValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ContentValueOpen, z.ZodTypeDef, ContentValueOpen>;
}
/** @internal */
export declare const ContentLaunchMethod$inboundSchema: z.ZodType<ContentLaunchMethod, z.ZodTypeDef, unknown>;
/** @internal */
export type ContentLaunchMethod$Outbound = {
    source_value?: Content4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const ContentLaunchMethod$outboundSchema: z.ZodType<ContentLaunchMethod$Outbound, z.ZodTypeDef, ContentLaunchMethod>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ContentLaunchMethod$ {
    /** @deprecated use `ContentLaunchMethod$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ContentLaunchMethod, z.ZodTypeDef, unknown>;
    /** @deprecated use `ContentLaunchMethod$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ContentLaunchMethod$Outbound, z.ZodTypeDef, ContentLaunchMethod>;
    /** @deprecated use `ContentLaunchMethod$Outbound` instead. */
    type Outbound = ContentLaunchMethod$Outbound;
}
/** @internal */
export declare const ContentSchemas4$inboundSchema: z.ZodType<ContentSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type ContentSchemas4$Outbound = {};
/** @internal */
export declare const ContentSchemas4$outboundSchema: z.ZodType<ContentSchemas4$Outbound, z.ZodTypeDef, ContentSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ContentSchemas4$ {
    /** @deprecated use `ContentSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ContentSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `ContentSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ContentSchemas4$Outbound, z.ZodTypeDef, ContentSchemas4>;
    /** @deprecated use `ContentSchemas4$Outbound` instead. */
    type Outbound = ContentSchemas4$Outbound;
}
/** @internal */
export declare const ContentSchemasSourceValue$inboundSchema: z.ZodType<ContentSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type ContentSchemasSourceValue$Outbound = ContentSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const ContentSchemasSourceValue$outboundSchema: z.ZodType<ContentSchemasSourceValue$Outbound, z.ZodTypeDef, ContentSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ContentSchemasSourceValue$ {
    /** @deprecated use `ContentSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ContentSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `ContentSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ContentSchemasSourceValue$Outbound, z.ZodTypeDef, ContentSchemasSourceValue>;
    /** @deprecated use `ContentSchemasSourceValue$Outbound` instead. */
    type Outbound = ContentSchemasSourceValue$Outbound;
}
/** @internal */
export declare const ContentSchemasValue$inboundSchema: z.ZodType<ContentSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const ContentSchemasValue$outboundSchema: z.ZodType<ContentSchemasValueOpen, z.ZodTypeDef, ContentSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ContentSchemasValue$ {
    /** @deprecated use `ContentSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ContentSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `ContentSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ContentSchemasValueOpen, z.ZodTypeDef, ContentSchemasValueOpen>;
}
/** @internal */
export declare const ContentContentType$inboundSchema: z.ZodType<ContentContentType, z.ZodTypeDef, unknown>;
/** @internal */
export type ContentContentType$Outbound = {
    source_value?: ContentSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const ContentContentType$outboundSchema: z.ZodType<ContentContentType$Outbound, z.ZodTypeDef, ContentContentType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ContentContentType$ {
    /** @deprecated use `ContentContentType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ContentContentType, z.ZodTypeDef, unknown>;
    /** @deprecated use `ContentContentType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ContentContentType$Outbound, z.ZodTypeDef, ContentContentType>;
    /** @deprecated use `ContentContentType$Outbound` instead. */
    type Outbound = ContentContentType$Outbound;
}
/** @internal */
export declare const Content$inboundSchema: z.ZodType<Content, z.ZodTypeDef, unknown>;
/** @internal */
export type Content$Outbound = {
    active?: boolean | string | null | undefined;
    categories?: Array<Category$Outbound> | null | undefined;
    content_launch_method?: ContentLaunchMethod$Outbound | null | undefined;
    content_type?: ContentContentType$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;
    id?: string | null | undefined;
    languages?: Array<ContentLanguageEnum$Outbound> | null | undefined;
    order?: number | null | undefined;
    remote_course_ids?: Array<string> | null | undefined;
    remote_id?: string | null | undefined;
    title?: string | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const Content$outboundSchema: z.ZodType<Content$Outbound, z.ZodTypeDef, Content>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Content$ {
    /** @deprecated use `Content$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Content, z.ZodTypeDef, unknown>;
    /** @deprecated use `Content$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Content$Outbound, z.ZodTypeDef, Content>;
    /** @deprecated use `Content$Outbound` instead. */
    type Outbound = Content$Outbound;
}
//# sourceMappingURL=content.d.ts.map