import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare const ScoreScaleStatus: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type ScoreScaleStatus = ClosedEnum<typeof ScoreScaleStatus>;
export type ScoreScaleClass = {
    sourcedId: string;
};
export type ScoreScaleCourse = {
    sourcedId: string;
};
export type ScoreScaleValue = {
    itemValueLHS: string;
    itemValueRHS: string;
    value?: string | undefined;
    description?: string | undefined;
};
/**
 * Represents a score scale.
 */
export type ScoreScale = {
    sourcedId?: string | undefined;
    status: ScoreScaleStatus;
    dateLastModified?: Date | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    title: string;
    type: string;
    class: ScoreScaleClass;
    course?: ScoreScaleCourse | null | undefined;
    scoreScaleValue: Array<ScoreScaleValue>;
};
/** @internal */
export declare const ScoreScaleStatus$inboundSchema: z.ZodNativeEnum<typeof ScoreScaleStatus>;
/** @internal */
export declare const ScoreScaleStatus$outboundSchema: z.ZodNativeEnum<typeof ScoreScaleStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScoreScaleStatus$ {
    /** @deprecated use `ScoreScaleStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `ScoreScaleStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const ScoreScaleClass$inboundSchema: z.ZodType<ScoreScaleClass, z.ZodTypeDef, unknown>;
/** @internal */
export type ScoreScaleClass$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const ScoreScaleClass$outboundSchema: z.ZodType<ScoreScaleClass$Outbound, z.ZodTypeDef, ScoreScaleClass>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScoreScaleClass$ {
    /** @deprecated use `ScoreScaleClass$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScoreScaleClass, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScoreScaleClass$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScoreScaleClass$Outbound, z.ZodTypeDef, ScoreScaleClass>;
    /** @deprecated use `ScoreScaleClass$Outbound` instead. */
    type Outbound = ScoreScaleClass$Outbound;
}
export declare function scoreScaleClassToJSON(scoreScaleClass: ScoreScaleClass): string;
export declare function scoreScaleClassFromJSON(jsonString: string): SafeParseResult<ScoreScaleClass, SDKValidationError>;
/** @internal */
export declare const ScoreScaleCourse$inboundSchema: z.ZodType<ScoreScaleCourse, z.ZodTypeDef, unknown>;
/** @internal */
export type ScoreScaleCourse$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const ScoreScaleCourse$outboundSchema: z.ZodType<ScoreScaleCourse$Outbound, z.ZodTypeDef, ScoreScaleCourse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScoreScaleCourse$ {
    /** @deprecated use `ScoreScaleCourse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScoreScaleCourse, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScoreScaleCourse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScoreScaleCourse$Outbound, z.ZodTypeDef, ScoreScaleCourse>;
    /** @deprecated use `ScoreScaleCourse$Outbound` instead. */
    type Outbound = ScoreScaleCourse$Outbound;
}
export declare function scoreScaleCourseToJSON(scoreScaleCourse: ScoreScaleCourse): string;
export declare function scoreScaleCourseFromJSON(jsonString: string): SafeParseResult<ScoreScaleCourse, SDKValidationError>;
/** @internal */
export declare const ScoreScaleValue$inboundSchema: z.ZodType<ScoreScaleValue, z.ZodTypeDef, unknown>;
/** @internal */
export type ScoreScaleValue$Outbound = {
    itemValueLHS: string;
    itemValueRHS: string;
    value?: string | undefined;
    description?: string | undefined;
};
/** @internal */
export declare const ScoreScaleValue$outboundSchema: z.ZodType<ScoreScaleValue$Outbound, z.ZodTypeDef, ScoreScaleValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScoreScaleValue$ {
    /** @deprecated use `ScoreScaleValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScoreScaleValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScoreScaleValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScoreScaleValue$Outbound, z.ZodTypeDef, ScoreScaleValue>;
    /** @deprecated use `ScoreScaleValue$Outbound` instead. */
    type Outbound = ScoreScaleValue$Outbound;
}
export declare function scoreScaleValueToJSON(scoreScaleValue: ScoreScaleValue): string;
export declare function scoreScaleValueFromJSON(jsonString: string): SafeParseResult<ScoreScaleValue, SDKValidationError>;
/** @internal */
export declare const ScoreScale$inboundSchema: z.ZodType<ScoreScale, z.ZodTypeDef, unknown>;
/** @internal */
export type ScoreScale$Outbound = {
    sourcedId?: string | undefined;
    status: string;
    dateLastModified?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    title: string;
    type: string;
    class: ScoreScaleClass$Outbound;
    course?: ScoreScaleCourse$Outbound | null | undefined;
    scoreScaleValue: Array<ScoreScaleValue$Outbound>;
};
/** @internal */
export declare const ScoreScale$outboundSchema: z.ZodType<ScoreScale$Outbound, z.ZodTypeDef, ScoreScale>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ScoreScale$ {
    /** @deprecated use `ScoreScale$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ScoreScale, z.ZodTypeDef, unknown>;
    /** @deprecated use `ScoreScale$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ScoreScale$Outbound, z.ZodTypeDef, ScoreScale>;
    /** @deprecated use `ScoreScale$Outbound` instead. */
    type Outbound = ScoreScale$Outbound;
}
export declare function scoreScaleToJSON(scoreScale: ScoreScale): string;
export declare function scoreScaleFromJSON(jsonString: string): SafeParseResult<ScoreScale, SDKValidationError>;
//# sourceMappingURL=scorescale.d.ts.map