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 CreateSchoolStatus: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type CreateSchoolStatus = ClosedEnum<typeof CreateSchoolStatus>;
export type CreateSchoolParent = {
    sourcedId: string;
};
export type CreateSchoolOrg = {
    sourcedId?: string | undefined;
    status?: CreateSchoolStatus | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    name: string;
    type?: "school" | undefined;
    identifier?: string | undefined;
    parent?: CreateSchoolParent | null | undefined;
};
export type CreateSchoolRequest = {
    org: CreateSchoolOrg;
};
/** @internal */
export declare const CreateSchoolStatus$inboundSchema: z.ZodNativeEnum<typeof CreateSchoolStatus>;
/** @internal */
export declare const CreateSchoolStatus$outboundSchema: z.ZodNativeEnum<typeof CreateSchoolStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSchoolStatus$ {
    /** @deprecated use `CreateSchoolStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `CreateSchoolStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const CreateSchoolParent$inboundSchema: z.ZodType<CreateSchoolParent, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSchoolParent$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const CreateSchoolParent$outboundSchema: z.ZodType<CreateSchoolParent$Outbound, z.ZodTypeDef, CreateSchoolParent>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSchoolParent$ {
    /** @deprecated use `CreateSchoolParent$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSchoolParent, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSchoolParent$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSchoolParent$Outbound, z.ZodTypeDef, CreateSchoolParent>;
    /** @deprecated use `CreateSchoolParent$Outbound` instead. */
    type Outbound = CreateSchoolParent$Outbound;
}
export declare function createSchoolParentToJSON(createSchoolParent: CreateSchoolParent): string;
export declare function createSchoolParentFromJSON(jsonString: string): SafeParseResult<CreateSchoolParent, SDKValidationError>;
/** @internal */
export declare const CreateSchoolOrg$inboundSchema: z.ZodType<CreateSchoolOrg, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSchoolOrg$Outbound = {
    sourcedId?: string | undefined;
    status: string;
    metadata?: {
        [k: string]: any;
    } | undefined;
    name: string;
    type: "school";
    identifier?: string | undefined;
    parent?: CreateSchoolParent$Outbound | null | undefined;
};
/** @internal */
export declare const CreateSchoolOrg$outboundSchema: z.ZodType<CreateSchoolOrg$Outbound, z.ZodTypeDef, CreateSchoolOrg>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSchoolOrg$ {
    /** @deprecated use `CreateSchoolOrg$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSchoolOrg, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSchoolOrg$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSchoolOrg$Outbound, z.ZodTypeDef, CreateSchoolOrg>;
    /** @deprecated use `CreateSchoolOrg$Outbound` instead. */
    type Outbound = CreateSchoolOrg$Outbound;
}
export declare function createSchoolOrgToJSON(createSchoolOrg: CreateSchoolOrg): string;
export declare function createSchoolOrgFromJSON(jsonString: string): SafeParseResult<CreateSchoolOrg, SDKValidationError>;
/** @internal */
export declare const CreateSchoolRequest$inboundSchema: z.ZodType<CreateSchoolRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSchoolRequest$Outbound = {
    org: CreateSchoolOrg$Outbound;
};
/** @internal */
export declare const CreateSchoolRequest$outboundSchema: z.ZodType<CreateSchoolRequest$Outbound, z.ZodTypeDef, CreateSchoolRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSchoolRequest$ {
    /** @deprecated use `CreateSchoolRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSchoolRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSchoolRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSchoolRequest$Outbound, z.ZodTypeDef, CreateSchoolRequest>;
    /** @deprecated use `CreateSchoolRequest$Outbound` instead. */
    type Outbound = CreateSchoolRequest$Outbound;
}
export declare function createSchoolRequestToJSON(createSchoolRequest: CreateSchoolRequest): string;
export declare function createSchoolRequestFromJSON(jsonString: string): SafeParseResult<CreateSchoolRequest, SDKValidationError>;
//# sourceMappingURL=createschool.d.ts.map