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 UpdateSchoolStatus: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type UpdateSchoolStatus = ClosedEnum<typeof UpdateSchoolStatus>;
export type UpdateSchoolParent = {
    sourcedId: string;
};
export type UpdateSchoolOrg = {
    sourcedId?: string | undefined;
    status?: UpdateSchoolStatus | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    name: string;
    type?: "school" | undefined;
    identifier?: string | undefined;
    parent?: UpdateSchoolParent | null | undefined;
};
export type UpdateSchoolRequestBody = {
    org: UpdateSchoolOrg;
};
export type UpdateSchoolRequest = {
    /**
     * School sourced ID
     */
    sourcedId: string;
    requestBody?: UpdateSchoolRequestBody | undefined;
};
/** @internal */
export declare const UpdateSchoolStatus$inboundSchema: z.ZodNativeEnum<typeof UpdateSchoolStatus>;
/** @internal */
export declare const UpdateSchoolStatus$outboundSchema: z.ZodNativeEnum<typeof UpdateSchoolStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateSchoolStatus$ {
    /** @deprecated use `UpdateSchoolStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `UpdateSchoolStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const UpdateSchoolParent$inboundSchema: z.ZodType<UpdateSchoolParent, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateSchoolParent$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const UpdateSchoolParent$outboundSchema: z.ZodType<UpdateSchoolParent$Outbound, z.ZodTypeDef, UpdateSchoolParent>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateSchoolParent$ {
    /** @deprecated use `UpdateSchoolParent$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateSchoolParent, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateSchoolParent$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateSchoolParent$Outbound, z.ZodTypeDef, UpdateSchoolParent>;
    /** @deprecated use `UpdateSchoolParent$Outbound` instead. */
    type Outbound = UpdateSchoolParent$Outbound;
}
export declare function updateSchoolParentToJSON(updateSchoolParent: UpdateSchoolParent): string;
export declare function updateSchoolParentFromJSON(jsonString: string): SafeParseResult<UpdateSchoolParent, SDKValidationError>;
/** @internal */
export declare const UpdateSchoolOrg$inboundSchema: z.ZodType<UpdateSchoolOrg, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateSchoolOrg$Outbound = {
    sourcedId?: string | undefined;
    status: string;
    metadata?: {
        [k: string]: any;
    } | undefined;
    name: string;
    type: "school";
    identifier?: string | undefined;
    parent?: UpdateSchoolParent$Outbound | null | undefined;
};
/** @internal */
export declare const UpdateSchoolOrg$outboundSchema: z.ZodType<UpdateSchoolOrg$Outbound, z.ZodTypeDef, UpdateSchoolOrg>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateSchoolOrg$ {
    /** @deprecated use `UpdateSchoolOrg$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateSchoolOrg, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateSchoolOrg$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateSchoolOrg$Outbound, z.ZodTypeDef, UpdateSchoolOrg>;
    /** @deprecated use `UpdateSchoolOrg$Outbound` instead. */
    type Outbound = UpdateSchoolOrg$Outbound;
}
export declare function updateSchoolOrgToJSON(updateSchoolOrg: UpdateSchoolOrg): string;
export declare function updateSchoolOrgFromJSON(jsonString: string): SafeParseResult<UpdateSchoolOrg, SDKValidationError>;
/** @internal */
export declare const UpdateSchoolRequestBody$inboundSchema: z.ZodType<UpdateSchoolRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateSchoolRequestBody$Outbound = {
    org: UpdateSchoolOrg$Outbound;
};
/** @internal */
export declare const UpdateSchoolRequestBody$outboundSchema: z.ZodType<UpdateSchoolRequestBody$Outbound, z.ZodTypeDef, UpdateSchoolRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateSchoolRequestBody$ {
    /** @deprecated use `UpdateSchoolRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateSchoolRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateSchoolRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateSchoolRequestBody$Outbound, z.ZodTypeDef, UpdateSchoolRequestBody>;
    /** @deprecated use `UpdateSchoolRequestBody$Outbound` instead. */
    type Outbound = UpdateSchoolRequestBody$Outbound;
}
export declare function updateSchoolRequestBodyToJSON(updateSchoolRequestBody: UpdateSchoolRequestBody): string;
export declare function updateSchoolRequestBodyFromJSON(jsonString: string): SafeParseResult<UpdateSchoolRequestBody, SDKValidationError>;
/** @internal */
export declare const UpdateSchoolRequest$inboundSchema: z.ZodType<UpdateSchoolRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateSchoolRequest$Outbound = {
    sourcedId: string;
    RequestBody?: UpdateSchoolRequestBody$Outbound | undefined;
};
/** @internal */
export declare const UpdateSchoolRequest$outboundSchema: z.ZodType<UpdateSchoolRequest$Outbound, z.ZodTypeDef, UpdateSchoolRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateSchoolRequest$ {
    /** @deprecated use `UpdateSchoolRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateSchoolRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateSchoolRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateSchoolRequest$Outbound, z.ZodTypeDef, UpdateSchoolRequest>;
    /** @deprecated use `UpdateSchoolRequest$Outbound` instead. */
    type Outbound = UpdateSchoolRequest$Outbound;
}
export declare function updateSchoolRequestToJSON(updateSchoolRequest: UpdateSchoolRequest): string;
export declare function updateSchoolRequestFromJSON(jsonString: string): SafeParseResult<UpdateSchoolRequest, SDKValidationError>;
//# sourceMappingURL=updateschool.d.ts.map