import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
export type Completion4 = {};
export type CompletionSourceValue = Completion4 | string | number | boolean | Array<any>;
export declare enum CompletionValue {
    Pass = "Pass",
    Fail = "Fail"
}
export type CompletionValueOpen = OpenEnum<typeof CompletionValue>;
/**
 * The result of the completion
 */
export type CompletionSchemasResult = {
    sourceValue?: Completion4 | string | number | boolean | Array<any> | null | undefined;
    value?: CompletionValueOpen | null | undefined;
};
export type Completion = {
    /**
     * The date the content was completed
     */
    completedAt?: string | null | undefined;
    /**
     * The external reference associated with this content
     */
    contentExternalReference?: string | null | undefined;
    /**
     * The content ID associated with this completion
     */
    contentId?: string | null | undefined;
    /**
     * The course ID associated with this completion
     */
    courseId?: string | null | undefined;
    /**
     * The created date of the completion
     */
    createdAt?: string | null | undefined;
    /**
     * The external ID associated with this completion
     */
    externalId?: string | null | undefined;
    /**
     * The ID associated with this completion
     */
    id?: string | null | undefined;
    /**
     * Provider's unique identifier of the content associated with the completion
     */
    remoteContentId?: string | null | undefined;
    /**
     * Provider's unique identifier of the course associated with the completion
     */
    remoteCourseId?: string | null | undefined;
    /**
     * Provider's unique identifier of the content external reference
     */
    remoteExternalId?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Provider's unique identifier of the user related to the completion
     */
    remoteUserId?: string | null | undefined;
    /**
     * The result of the completion
     */
    result?: CompletionSchemasResult | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The updated date of the completion
     */
    updatedAt?: string | null | undefined;
    /**
     * The user ID associated with this completion
     */
    userId?: string | null | undefined;
};
/** @internal */
export declare const Completion4$inboundSchema: z.ZodType<Completion4, z.ZodTypeDef, unknown>;
/** @internal */
export type Completion4$Outbound = {};
/** @internal */
export declare const Completion4$outboundSchema: z.ZodType<Completion4$Outbound, z.ZodTypeDef, Completion4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Completion4$ {
    /** @deprecated use `Completion4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Completion4, z.ZodTypeDef, unknown>;
    /** @deprecated use `Completion4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Completion4$Outbound, z.ZodTypeDef, Completion4>;
    /** @deprecated use `Completion4$Outbound` instead. */
    type Outbound = Completion4$Outbound;
}
/** @internal */
export declare const CompletionSourceValue$inboundSchema: z.ZodType<CompletionSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type CompletionSourceValue$Outbound = Completion4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const CompletionSourceValue$outboundSchema: z.ZodType<CompletionSourceValue$Outbound, z.ZodTypeDef, CompletionSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CompletionSourceValue$ {
    /** @deprecated use `CompletionSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CompletionSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `CompletionSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CompletionSourceValue$Outbound, z.ZodTypeDef, CompletionSourceValue>;
    /** @deprecated use `CompletionSourceValue$Outbound` instead. */
    type Outbound = CompletionSourceValue$Outbound;
}
/** @internal */
export declare const CompletionValue$inboundSchema: z.ZodType<CompletionValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const CompletionValue$outboundSchema: z.ZodType<CompletionValueOpen, z.ZodTypeDef, CompletionValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CompletionValue$ {
    /** @deprecated use `CompletionValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CompletionValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `CompletionValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CompletionValueOpen, z.ZodTypeDef, CompletionValueOpen>;
}
/** @internal */
export declare const CompletionSchemasResult$inboundSchema: z.ZodType<CompletionSchemasResult, z.ZodTypeDef, unknown>;
/** @internal */
export type CompletionSchemasResult$Outbound = {
    source_value?: Completion4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const CompletionSchemasResult$outboundSchema: z.ZodType<CompletionSchemasResult$Outbound, z.ZodTypeDef, CompletionSchemasResult>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CompletionSchemasResult$ {
    /** @deprecated use `CompletionSchemasResult$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CompletionSchemasResult, z.ZodTypeDef, unknown>;
    /** @deprecated use `CompletionSchemasResult$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CompletionSchemasResult$Outbound, z.ZodTypeDef, CompletionSchemasResult>;
    /** @deprecated use `CompletionSchemasResult$Outbound` instead. */
    type Outbound = CompletionSchemasResult$Outbound;
}
/** @internal */
export declare const Completion$inboundSchema: z.ZodType<Completion, z.ZodTypeDef, unknown>;
/** @internal */
export type Completion$Outbound = {
    completed_at?: string | null | undefined;
    content_external_reference?: string | null | undefined;
    content_id?: string | null | undefined;
    course_id?: string | null | undefined;
    created_at?: string | null | undefined;
    external_id?: string | null | undefined;
    id?: string | null | undefined;
    remote_content_id?: string | null | undefined;
    remote_course_id?: string | null | undefined;
    remote_external_id?: string | null | undefined;
    remote_id?: string | null | undefined;
    remote_user_id?: string | null | undefined;
    result?: CompletionSchemasResult$Outbound | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
    user_id?: string | null | undefined;
};
/** @internal */
export declare const Completion$outboundSchema: z.ZodType<Completion$Outbound, z.ZodTypeDef, Completion>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Completion$ {
    /** @deprecated use `Completion$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Completion, z.ZodTypeDef, unknown>;
    /** @deprecated use `Completion$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Completion$Outbound, z.ZodTypeDef, Completion>;
    /** @deprecated use `Completion$Outbound` instead. */
    type Outbound = Completion$Outbound;
}
//# sourceMappingURL=completion.d.ts.map