import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type AddStudentToClassUser = {
    sourcedId: string;
};
export type AddStudentToClassEnrollment = {
    user: AddStudentToClassUser;
    primary?: boolean | undefined;
    beginDate?: string | undefined;
    endDate?: string | undefined;
};
export type AddStudentToClassRequestBody = {
    enrollment: AddStudentToClassEnrollment;
};
export type AddStudentToClassRequest = {
    /**
     * Class sourcedId
     */
    classSourcedId: string;
    requestBody?: AddStudentToClassRequestBody | undefined;
};
export type AddStudentToClassSourcedIdPairs = {
    suppliedSourcedId: string;
    allocatedSourcedId: string;
};
/**
 * Student successfully enrolled in class
 */
export type AddStudentToClassResponse = {
    sourcedIdPairs: AddStudentToClassSourcedIdPairs;
};
/** @internal */
export declare const AddStudentToClassUser$inboundSchema: z.ZodType<AddStudentToClassUser, z.ZodTypeDef, unknown>;
/** @internal */
export type AddStudentToClassUser$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const AddStudentToClassUser$outboundSchema: z.ZodType<AddStudentToClassUser$Outbound, z.ZodTypeDef, AddStudentToClassUser>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddStudentToClassUser$ {
    /** @deprecated use `AddStudentToClassUser$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddStudentToClassUser, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddStudentToClassUser$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddStudentToClassUser$Outbound, z.ZodTypeDef, AddStudentToClassUser>;
    /** @deprecated use `AddStudentToClassUser$Outbound` instead. */
    type Outbound = AddStudentToClassUser$Outbound;
}
export declare function addStudentToClassUserToJSON(addStudentToClassUser: AddStudentToClassUser): string;
export declare function addStudentToClassUserFromJSON(jsonString: string): SafeParseResult<AddStudentToClassUser, SDKValidationError>;
/** @internal */
export declare const AddStudentToClassEnrollment$inboundSchema: z.ZodType<AddStudentToClassEnrollment, z.ZodTypeDef, unknown>;
/** @internal */
export type AddStudentToClassEnrollment$Outbound = {
    user: AddStudentToClassUser$Outbound;
    primary: boolean;
    beginDate?: string | undefined;
    endDate?: string | undefined;
};
/** @internal */
export declare const AddStudentToClassEnrollment$outboundSchema: z.ZodType<AddStudentToClassEnrollment$Outbound, z.ZodTypeDef, AddStudentToClassEnrollment>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddStudentToClassEnrollment$ {
    /** @deprecated use `AddStudentToClassEnrollment$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddStudentToClassEnrollment, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddStudentToClassEnrollment$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddStudentToClassEnrollment$Outbound, z.ZodTypeDef, AddStudentToClassEnrollment>;
    /** @deprecated use `AddStudentToClassEnrollment$Outbound` instead. */
    type Outbound = AddStudentToClassEnrollment$Outbound;
}
export declare function addStudentToClassEnrollmentToJSON(addStudentToClassEnrollment: AddStudentToClassEnrollment): string;
export declare function addStudentToClassEnrollmentFromJSON(jsonString: string): SafeParseResult<AddStudentToClassEnrollment, SDKValidationError>;
/** @internal */
export declare const AddStudentToClassRequestBody$inboundSchema: z.ZodType<AddStudentToClassRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type AddStudentToClassRequestBody$Outbound = {
    enrollment: AddStudentToClassEnrollment$Outbound;
};
/** @internal */
export declare const AddStudentToClassRequestBody$outboundSchema: z.ZodType<AddStudentToClassRequestBody$Outbound, z.ZodTypeDef, AddStudentToClassRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddStudentToClassRequestBody$ {
    /** @deprecated use `AddStudentToClassRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddStudentToClassRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddStudentToClassRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddStudentToClassRequestBody$Outbound, z.ZodTypeDef, AddStudentToClassRequestBody>;
    /** @deprecated use `AddStudentToClassRequestBody$Outbound` instead. */
    type Outbound = AddStudentToClassRequestBody$Outbound;
}
export declare function addStudentToClassRequestBodyToJSON(addStudentToClassRequestBody: AddStudentToClassRequestBody): string;
export declare function addStudentToClassRequestBodyFromJSON(jsonString: string): SafeParseResult<AddStudentToClassRequestBody, SDKValidationError>;
/** @internal */
export declare const AddStudentToClassRequest$inboundSchema: z.ZodType<AddStudentToClassRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type AddStudentToClassRequest$Outbound = {
    classSourcedId: string;
    RequestBody?: AddStudentToClassRequestBody$Outbound | undefined;
};
/** @internal */
export declare const AddStudentToClassRequest$outboundSchema: z.ZodType<AddStudentToClassRequest$Outbound, z.ZodTypeDef, AddStudentToClassRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddStudentToClassRequest$ {
    /** @deprecated use `AddStudentToClassRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddStudentToClassRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddStudentToClassRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddStudentToClassRequest$Outbound, z.ZodTypeDef, AddStudentToClassRequest>;
    /** @deprecated use `AddStudentToClassRequest$Outbound` instead. */
    type Outbound = AddStudentToClassRequest$Outbound;
}
export declare function addStudentToClassRequestToJSON(addStudentToClassRequest: AddStudentToClassRequest): string;
export declare function addStudentToClassRequestFromJSON(jsonString: string): SafeParseResult<AddStudentToClassRequest, SDKValidationError>;
/** @internal */
export declare const AddStudentToClassSourcedIdPairs$inboundSchema: z.ZodType<AddStudentToClassSourcedIdPairs, z.ZodTypeDef, unknown>;
/** @internal */
export type AddStudentToClassSourcedIdPairs$Outbound = {
    suppliedSourcedId: string;
    allocatedSourcedId: string;
};
/** @internal */
export declare const AddStudentToClassSourcedIdPairs$outboundSchema: z.ZodType<AddStudentToClassSourcedIdPairs$Outbound, z.ZodTypeDef, AddStudentToClassSourcedIdPairs>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddStudentToClassSourcedIdPairs$ {
    /** @deprecated use `AddStudentToClassSourcedIdPairs$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddStudentToClassSourcedIdPairs, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddStudentToClassSourcedIdPairs$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddStudentToClassSourcedIdPairs$Outbound, z.ZodTypeDef, AddStudentToClassSourcedIdPairs>;
    /** @deprecated use `AddStudentToClassSourcedIdPairs$Outbound` instead. */
    type Outbound = AddStudentToClassSourcedIdPairs$Outbound;
}
export declare function addStudentToClassSourcedIdPairsToJSON(addStudentToClassSourcedIdPairs: AddStudentToClassSourcedIdPairs): string;
export declare function addStudentToClassSourcedIdPairsFromJSON(jsonString: string): SafeParseResult<AddStudentToClassSourcedIdPairs, SDKValidationError>;
/** @internal */
export declare const AddStudentToClassResponse$inboundSchema: z.ZodType<AddStudentToClassResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type AddStudentToClassResponse$Outbound = {
    sourcedIdPairs: AddStudentToClassSourcedIdPairs$Outbound;
};
/** @internal */
export declare const AddStudentToClassResponse$outboundSchema: z.ZodType<AddStudentToClassResponse$Outbound, z.ZodTypeDef, AddStudentToClassResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AddStudentToClassResponse$ {
    /** @deprecated use `AddStudentToClassResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AddStudentToClassResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `AddStudentToClassResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AddStudentToClassResponse$Outbound, z.ZodTypeDef, AddStudentToClassResponse>;
    /** @deprecated use `AddStudentToClassResponse$Outbound` instead. */
    type Outbound = AddStudentToClassResponse$Outbound;
}
export declare function addStudentToClassResponseToJSON(addStudentToClassResponse: AddStudentToClassResponse): string;
export declare function addStudentToClassResponseFromJSON(jsonString: string): SafeParseResult<AddStudentToClassResponse, SDKValidationError>;
//# sourceMappingURL=addstudenttoclass.d.ts.map