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 CreateOrgStatus: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type CreateOrgStatus = ClosedEnum<typeof CreateOrgStatus>;
export declare const CreateOrgType: {
    readonly Department: "department";
    readonly School: "school";
    readonly District: "district";
    readonly Local: "local";
    readonly State: "state";
    readonly National: "national";
};
export type CreateOrgType = ClosedEnum<typeof CreateOrgType>;
export type CreateOrgParent = {
    sourcedId: string;
};
export type CreateOrgOrg = {
    sourcedId?: string | undefined;
    status?: CreateOrgStatus | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    name: string;
    type: CreateOrgType;
    identifier?: string | undefined;
    parent?: CreateOrgParent | null | undefined;
};
export type CreateOrgRequest = {
    org: CreateOrgOrg;
};
export type CreateOrgSourcedIdPairs = {
    suppliedSourcedId: string;
    allocatedSourcedId: string;
};
/**
 * Organization created successfully
 */
export type CreateOrgResponse = {
    sourcedIdPairs: CreateOrgSourcedIdPairs;
};
/** @internal */
export declare const CreateOrgStatus$inboundSchema: z.ZodNativeEnum<typeof CreateOrgStatus>;
/** @internal */
export declare const CreateOrgStatus$outboundSchema: z.ZodNativeEnum<typeof CreateOrgStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateOrgStatus$ {
    /** @deprecated use `CreateOrgStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `CreateOrgStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const CreateOrgType$inboundSchema: z.ZodNativeEnum<typeof CreateOrgType>;
/** @internal */
export declare const CreateOrgType$outboundSchema: z.ZodNativeEnum<typeof CreateOrgType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateOrgType$ {
    /** @deprecated use `CreateOrgType$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 `CreateOrgType$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 CreateOrgParent$inboundSchema: z.ZodType<CreateOrgParent, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateOrgParent$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const CreateOrgParent$outboundSchema: z.ZodType<CreateOrgParent$Outbound, z.ZodTypeDef, CreateOrgParent>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateOrgParent$ {
    /** @deprecated use `CreateOrgParent$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateOrgParent, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateOrgParent$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateOrgParent$Outbound, z.ZodTypeDef, CreateOrgParent>;
    /** @deprecated use `CreateOrgParent$Outbound` instead. */
    type Outbound = CreateOrgParent$Outbound;
}
export declare function createOrgParentToJSON(createOrgParent: CreateOrgParent): string;
export declare function createOrgParentFromJSON(jsonString: string): SafeParseResult<CreateOrgParent, SDKValidationError>;
/** @internal */
export declare const CreateOrgOrg$inboundSchema: z.ZodType<CreateOrgOrg, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateOrgOrg$Outbound = {
    sourcedId?: string | undefined;
    status: string;
    metadata?: {
        [k: string]: any;
    } | undefined;
    name: string;
    type: string;
    identifier?: string | undefined;
    parent?: CreateOrgParent$Outbound | null | undefined;
};
/** @internal */
export declare const CreateOrgOrg$outboundSchema: z.ZodType<CreateOrgOrg$Outbound, z.ZodTypeDef, CreateOrgOrg>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateOrgOrg$ {
    /** @deprecated use `CreateOrgOrg$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateOrgOrg, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateOrgOrg$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateOrgOrg$Outbound, z.ZodTypeDef, CreateOrgOrg>;
    /** @deprecated use `CreateOrgOrg$Outbound` instead. */
    type Outbound = CreateOrgOrg$Outbound;
}
export declare function createOrgOrgToJSON(createOrgOrg: CreateOrgOrg): string;
export declare function createOrgOrgFromJSON(jsonString: string): SafeParseResult<CreateOrgOrg, SDKValidationError>;
/** @internal */
export declare const CreateOrgRequest$inboundSchema: z.ZodType<CreateOrgRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateOrgRequest$Outbound = {
    org: CreateOrgOrg$Outbound;
};
/** @internal */
export declare const CreateOrgRequest$outboundSchema: z.ZodType<CreateOrgRequest$Outbound, z.ZodTypeDef, CreateOrgRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateOrgRequest$ {
    /** @deprecated use `CreateOrgRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateOrgRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateOrgRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateOrgRequest$Outbound, z.ZodTypeDef, CreateOrgRequest>;
    /** @deprecated use `CreateOrgRequest$Outbound` instead. */
    type Outbound = CreateOrgRequest$Outbound;
}
export declare function createOrgRequestToJSON(createOrgRequest: CreateOrgRequest): string;
export declare function createOrgRequestFromJSON(jsonString: string): SafeParseResult<CreateOrgRequest, SDKValidationError>;
/** @internal */
export declare const CreateOrgSourcedIdPairs$inboundSchema: z.ZodType<CreateOrgSourcedIdPairs, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateOrgSourcedIdPairs$Outbound = {
    suppliedSourcedId: string;
    allocatedSourcedId: string;
};
/** @internal */
export declare const CreateOrgSourcedIdPairs$outboundSchema: z.ZodType<CreateOrgSourcedIdPairs$Outbound, z.ZodTypeDef, CreateOrgSourcedIdPairs>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateOrgSourcedIdPairs$ {
    /** @deprecated use `CreateOrgSourcedIdPairs$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateOrgSourcedIdPairs, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateOrgSourcedIdPairs$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateOrgSourcedIdPairs$Outbound, z.ZodTypeDef, CreateOrgSourcedIdPairs>;
    /** @deprecated use `CreateOrgSourcedIdPairs$Outbound` instead. */
    type Outbound = CreateOrgSourcedIdPairs$Outbound;
}
export declare function createOrgSourcedIdPairsToJSON(createOrgSourcedIdPairs: CreateOrgSourcedIdPairs): string;
export declare function createOrgSourcedIdPairsFromJSON(jsonString: string): SafeParseResult<CreateOrgSourcedIdPairs, SDKValidationError>;
/** @internal */
export declare const CreateOrgResponse$inboundSchema: z.ZodType<CreateOrgResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateOrgResponse$Outbound = {
    sourcedIdPairs: CreateOrgSourcedIdPairs$Outbound;
};
/** @internal */
export declare const CreateOrgResponse$outboundSchema: z.ZodType<CreateOrgResponse$Outbound, z.ZodTypeDef, CreateOrgResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateOrgResponse$ {
    /** @deprecated use `CreateOrgResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateOrgResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateOrgResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateOrgResponse$Outbound, z.ZodTypeDef, CreateOrgResponse>;
    /** @deprecated use `CreateOrgResponse$Outbound` instead. */
    type Outbound = CreateOrgResponse$Outbound;
}
export declare function createOrgResponseToJSON(createOrgResponse: CreateOrgResponse): string;
export declare function createOrgResponseFromJSON(jsonString: string): SafeParseResult<CreateOrgResponse, SDKValidationError>;
//# sourceMappingURL=createorg.d.ts.map