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 UpdateOrgStatus: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type UpdateOrgStatus = ClosedEnum<typeof UpdateOrgStatus>;
export declare const UpdateOrgType: {
    readonly Department: "department";
    readonly School: "school";
    readonly District: "district";
    readonly Local: "local";
    readonly State: "state";
    readonly National: "national";
};
export type UpdateOrgType = ClosedEnum<typeof UpdateOrgType>;
export type UpdateOrgParent = {
    sourcedId: string;
};
export type UpdateOrgOrg = {
    sourcedId?: string | undefined;
    status?: UpdateOrgStatus | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    name: string;
    type: UpdateOrgType;
    identifier?: string | undefined;
    parent?: UpdateOrgParent | null | undefined;
};
export type UpdateOrgRequestBody = {
    org: UpdateOrgOrg;
};
export type UpdateOrgRequest = {
    /**
     * The sourcedId of the organization to update
     */
    sourcedId: string;
    requestBody?: UpdateOrgRequestBody | undefined;
};
/** @internal */
export declare const UpdateOrgStatus$inboundSchema: z.ZodNativeEnum<typeof UpdateOrgStatus>;
/** @internal */
export declare const UpdateOrgStatus$outboundSchema: z.ZodNativeEnum<typeof UpdateOrgStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateOrgStatus$ {
    /** @deprecated use `UpdateOrgStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `UpdateOrgStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const UpdateOrgType$inboundSchema: z.ZodNativeEnum<typeof UpdateOrgType>;
/** @internal */
export declare const UpdateOrgType$outboundSchema: z.ZodNativeEnum<typeof UpdateOrgType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateOrgType$ {
    /** @deprecated use `UpdateOrgType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Department: "department";
        readonly School: "school";
        readonly District: "district";
        readonly Local: "local";
        readonly State: "state";
        readonly National: "national";
    }>;
    /** @deprecated use `UpdateOrgType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Department: "department";
        readonly School: "school";
        readonly District: "district";
        readonly Local: "local";
        readonly State: "state";
        readonly National: "national";
    }>;
}
/** @internal */
export declare const UpdateOrgParent$inboundSchema: z.ZodType<UpdateOrgParent, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateOrgParent$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const UpdateOrgParent$outboundSchema: z.ZodType<UpdateOrgParent$Outbound, z.ZodTypeDef, UpdateOrgParent>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateOrgParent$ {
    /** @deprecated use `UpdateOrgParent$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateOrgParent, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateOrgParent$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateOrgParent$Outbound, z.ZodTypeDef, UpdateOrgParent>;
    /** @deprecated use `UpdateOrgParent$Outbound` instead. */
    type Outbound = UpdateOrgParent$Outbound;
}
export declare function updateOrgParentToJSON(updateOrgParent: UpdateOrgParent): string;
export declare function updateOrgParentFromJSON(jsonString: string): SafeParseResult<UpdateOrgParent, SDKValidationError>;
/** @internal */
export declare const UpdateOrgOrg$inboundSchema: z.ZodType<UpdateOrgOrg, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateOrgOrg$Outbound = {
    sourcedId?: string | undefined;
    status: string;
    metadata?: {
        [k: string]: any;
    } | undefined;
    name: string;
    type: string;
    identifier?: string | undefined;
    parent?: UpdateOrgParent$Outbound | null | undefined;
};
/** @internal */
export declare const UpdateOrgOrg$outboundSchema: z.ZodType<UpdateOrgOrg$Outbound, z.ZodTypeDef, UpdateOrgOrg>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateOrgOrg$ {
    /** @deprecated use `UpdateOrgOrg$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateOrgOrg, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateOrgOrg$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateOrgOrg$Outbound, z.ZodTypeDef, UpdateOrgOrg>;
    /** @deprecated use `UpdateOrgOrg$Outbound` instead. */
    type Outbound = UpdateOrgOrg$Outbound;
}
export declare function updateOrgOrgToJSON(updateOrgOrg: UpdateOrgOrg): string;
export declare function updateOrgOrgFromJSON(jsonString: string): SafeParseResult<UpdateOrgOrg, SDKValidationError>;
/** @internal */
export declare const UpdateOrgRequestBody$inboundSchema: z.ZodType<UpdateOrgRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateOrgRequestBody$Outbound = {
    org: UpdateOrgOrg$Outbound;
};
/** @internal */
export declare const UpdateOrgRequestBody$outboundSchema: z.ZodType<UpdateOrgRequestBody$Outbound, z.ZodTypeDef, UpdateOrgRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateOrgRequestBody$ {
    /** @deprecated use `UpdateOrgRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateOrgRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateOrgRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateOrgRequestBody$Outbound, z.ZodTypeDef, UpdateOrgRequestBody>;
    /** @deprecated use `UpdateOrgRequestBody$Outbound` instead. */
    type Outbound = UpdateOrgRequestBody$Outbound;
}
export declare function updateOrgRequestBodyToJSON(updateOrgRequestBody: UpdateOrgRequestBody): string;
export declare function updateOrgRequestBodyFromJSON(jsonString: string): SafeParseResult<UpdateOrgRequestBody, SDKValidationError>;
/** @internal */
export declare const UpdateOrgRequest$inboundSchema: z.ZodType<UpdateOrgRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateOrgRequest$Outbound = {
    sourcedId: string;
    RequestBody?: UpdateOrgRequestBody$Outbound | undefined;
};
/** @internal */
export declare const UpdateOrgRequest$outboundSchema: z.ZodType<UpdateOrgRequest$Outbound, z.ZodTypeDef, UpdateOrgRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateOrgRequest$ {
    /** @deprecated use `UpdateOrgRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateOrgRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateOrgRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateOrgRequest$Outbound, z.ZodTypeDef, UpdateOrgRequest>;
    /** @deprecated use `UpdateOrgRequest$Outbound` instead. */
    type Outbound = UpdateOrgRequest$Outbound;
}
export declare function updateOrgRequestToJSON(updateOrgRequest: UpdateOrgRequest): string;
export declare function updateOrgRequestFromJSON(jsonString: string): SafeParseResult<UpdateOrgRequest, SDKValidationError>;
//# sourceMappingURL=updateorg.d.ts.map