import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type AddTeacherToClassUser = {
    sourcedId: string;
};
export type AddTeacherToClassEnrollment = {
    user: AddTeacherToClassUser;
    primary?: boolean | undefined;
    beginDate?: string | undefined;
    endDate?: string | undefined;
};
export type AddTeacherToClassRequestBody = {
    enrollment: AddTeacherToClassEnrollment;
};
export type AddTeacherToClassRequest = {
    /**
     * Class sourcedId
     */
    classSourcedId: string;
    requestBody?: AddTeacherToClassRequestBody | undefined;
};
export type AddTeacherToClassSourcedIdPairs = {
    suppliedSourcedId: string;
    allocatedSourcedId: string;
};
/**
 * Teacher successfully assigned to class
 */
export type AddTeacherToClassResponse = {
    sourcedIdPairs: AddTeacherToClassSourcedIdPairs;
};
/** @internal */
export declare const AddTeacherToClassUser$inboundSchema: z.ZodType<AddTeacherToClassUser, z.ZodTypeDef, unknown>;
/** @internal */
export type AddTeacherToClassUser$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const AddTeacherToClassUser$outboundSchema: z.ZodType<AddTeacherToClassUser$Outbound, z.ZodTypeDef, AddTeacherToClassUser>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddTeacherToClassUser$ {
    /** @deprecated use `AddTeacherToClassUser$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddTeacherToClassUser, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddTeacherToClassUser$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddTeacherToClassUser$Outbound, z.ZodTypeDef, AddTeacherToClassUser>;
    /** @deprecated use `AddTeacherToClassUser$Outbound` instead. */
    type Outbound = AddTeacherToClassUser$Outbound;
}
export declare function addTeacherToClassUserToJSON(addTeacherToClassUser: AddTeacherToClassUser): string;
export declare function addTeacherToClassUserFromJSON(jsonString: string): SafeParseResult<AddTeacherToClassUser, SDKValidationError>;
/** @internal */
export declare const AddTeacherToClassEnrollment$inboundSchema: z.ZodType<AddTeacherToClassEnrollment, z.ZodTypeDef, unknown>;
/** @internal */
export type AddTeacherToClassEnrollment$Outbound = {
    user: AddTeacherToClassUser$Outbound;
    primary: boolean;
    beginDate?: string | undefined;
    endDate?: string | undefined;
};
/** @internal */
export declare const AddTeacherToClassEnrollment$outboundSchema: z.ZodType<AddTeacherToClassEnrollment$Outbound, z.ZodTypeDef, AddTeacherToClassEnrollment>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddTeacherToClassEnrollment$ {
    /** @deprecated use `AddTeacherToClassEnrollment$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddTeacherToClassEnrollment, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddTeacherToClassEnrollment$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddTeacherToClassEnrollment$Outbound, z.ZodTypeDef, AddTeacherToClassEnrollment>;
    /** @deprecated use `AddTeacherToClassEnrollment$Outbound` instead. */
    type Outbound = AddTeacherToClassEnrollment$Outbound;
}
export declare function addTeacherToClassEnrollmentToJSON(addTeacherToClassEnrollment: AddTeacherToClassEnrollment): string;
export declare function addTeacherToClassEnrollmentFromJSON(jsonString: string): SafeParseResult<AddTeacherToClassEnrollment, SDKValidationError>;
/** @internal */
export declare const AddTeacherToClassRequestBody$inboundSchema: z.ZodType<AddTeacherToClassRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type AddTeacherToClassRequestBody$Outbound = {
    enrollment: AddTeacherToClassEnrollment$Outbound;
};
/** @internal */
export declare const AddTeacherToClassRequestBody$outboundSchema: z.ZodType<AddTeacherToClassRequestBody$Outbound, z.ZodTypeDef, AddTeacherToClassRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddTeacherToClassRequestBody$ {
    /** @deprecated use `AddTeacherToClassRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddTeacherToClassRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddTeacherToClassRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddTeacherToClassRequestBody$Outbound, z.ZodTypeDef, AddTeacherToClassRequestBody>;
    /** @deprecated use `AddTeacherToClassRequestBody$Outbound` instead. */
    type Outbound = AddTeacherToClassRequestBody$Outbound;
}
export declare function addTeacherToClassRequestBodyToJSON(addTeacherToClassRequestBody: AddTeacherToClassRequestBody): string;
export declare function addTeacherToClassRequestBodyFromJSON(jsonString: string): SafeParseResult<AddTeacherToClassRequestBody, SDKValidationError>;
/** @internal */
export declare const AddTeacherToClassRequest$inboundSchema: z.ZodType<AddTeacherToClassRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type AddTeacherToClassRequest$Outbound = {
    classSourcedId: string;
    RequestBody?: AddTeacherToClassRequestBody$Outbound | undefined;
};
/** @internal */
export declare const AddTeacherToClassRequest$outboundSchema: z.ZodType<AddTeacherToClassRequest$Outbound, z.ZodTypeDef, AddTeacherToClassRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddTeacherToClassRequest$ {
    /** @deprecated use `AddTeacherToClassRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddTeacherToClassRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddTeacherToClassRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddTeacherToClassRequest$Outbound, z.ZodTypeDef, AddTeacherToClassRequest>;
    /** @deprecated use `AddTeacherToClassRequest$Outbound` instead. */
    type Outbound = AddTeacherToClassRequest$Outbound;
}
export declare function addTeacherToClassRequestToJSON(addTeacherToClassRequest: AddTeacherToClassRequest): string;
export declare function addTeacherToClassRequestFromJSON(jsonString: string): SafeParseResult<AddTeacherToClassRequest, SDKValidationError>;
/** @internal */
export declare const AddTeacherToClassSourcedIdPairs$inboundSchema: z.ZodType<AddTeacherToClassSourcedIdPairs, z.ZodTypeDef, unknown>;
/** @internal */
export type AddTeacherToClassSourcedIdPairs$Outbound = {
    suppliedSourcedId: string;
    allocatedSourcedId: string;
};
/** @internal */
export declare const AddTeacherToClassSourcedIdPairs$outboundSchema: z.ZodType<AddTeacherToClassSourcedIdPairs$Outbound, z.ZodTypeDef, AddTeacherToClassSourcedIdPairs>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddTeacherToClassSourcedIdPairs$ {
    /** @deprecated use `AddTeacherToClassSourcedIdPairs$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddTeacherToClassSourcedIdPairs, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddTeacherToClassSourcedIdPairs$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddTeacherToClassSourcedIdPairs$Outbound, z.ZodTypeDef, AddTeacherToClassSourcedIdPairs>;
    /** @deprecated use `AddTeacherToClassSourcedIdPairs$Outbound` instead. */
    type Outbound = AddTeacherToClassSourcedIdPairs$Outbound;
}
export declare function addTeacherToClassSourcedIdPairsToJSON(addTeacherToClassSourcedIdPairs: AddTeacherToClassSourcedIdPairs): string;
export declare function addTeacherToClassSourcedIdPairsFromJSON(jsonString: string): SafeParseResult<AddTeacherToClassSourcedIdPairs, SDKValidationError>;
/** @internal */
export declare const AddTeacherToClassResponse$inboundSchema: z.ZodType<AddTeacherToClassResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type AddTeacherToClassResponse$Outbound = {
    sourcedIdPairs: AddTeacherToClassSourcedIdPairs$Outbound;
};
/** @internal */
export declare const AddTeacherToClassResponse$outboundSchema: z.ZodType<AddTeacherToClassResponse$Outbound, z.ZodTypeDef, AddTeacherToClassResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddTeacherToClassResponse$ {
    /** @deprecated use `AddTeacherToClassResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddTeacherToClassResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddTeacherToClassResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddTeacherToClassResponse$Outbound, z.ZodTypeDef, AddTeacherToClassResponse>;
    /** @deprecated use `AddTeacherToClassResponse$Outbound` instead. */
    type Outbound = AddTeacherToClassResponse$Outbound;
}
export declare function addTeacherToClassResponseToJSON(addTeacherToClassResponse: AddTeacherToClassResponse): string;
export declare function addTeacherToClassResponseFromJSON(jsonString: string): SafeParseResult<AddTeacherToClassResponse, SDKValidationError>;
//# sourceMappingURL=addteachertoclass.d.ts.map