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 CreateUserStatusRequest: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type CreateUserStatusRequest = ClosedEnum<typeof CreateUserStatusRequest>;
export type CreateUserUserIdRequest = {
    type: string;
    identifier: string;
};
export declare const CreateUserRoleTypeRequest: {
    readonly Primary: "primary";
    readonly Secondary: "secondary";
};
export type CreateUserRoleTypeRequest = ClosedEnum<typeof CreateUserRoleTypeRequest>;
export declare const CreateUserRoleRequestEnum: {
    readonly Administrator: "administrator";
    readonly Aide: "aide";
    readonly Guardian: "guardian";
    readonly Parent: "parent";
    readonly Proctor: "proctor";
    readonly Relative: "relative";
    readonly Student: "student";
    readonly Teacher: "teacher";
};
export type CreateUserRoleRequestEnum = ClosedEnum<typeof CreateUserRoleRequestEnum>;
export type CreateUserOrgRequest = {
    sourcedId: string;
};
export type CreateUserRoleRequest = {
    roleType: CreateUserRoleTypeRequest;
    role: CreateUserRoleRequestEnum;
    org: CreateUserOrgRequest;
    userProfile?: string | undefined;
    beginDate?: string | undefined;
    endDate?: string | undefined;
};
export type CreateUserPrimaryOrgRequest = {
    sourcedId: string;
};
export type CreateUserAgentRequest = {
    sourcedId: string;
};
export type CreateUserUserRequest = {
    sourcedId?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    status?: CreateUserStatusRequest | undefined;
    userMasterIdentifier?: string | null | undefined;
    username?: string | null | undefined;
    userIds?: Array<CreateUserUserIdRequest> | undefined;
    enabledUser: boolean;
    givenName: string;
    familyName: string;
    middleName?: string | null | undefined;
    roles: Array<CreateUserRoleRequest>;
    primaryOrg?: CreateUserPrimaryOrgRequest | undefined;
    email?: string | null | undefined;
    preferredFirstName?: string | null | undefined;
    preferredMiddleName?: string | null | undefined;
    preferredLastName?: string | null | undefined;
    pronouns?: string | null | undefined;
    grades?: Array<string> | undefined;
    password?: string | null | undefined;
    sms?: string | null | undefined;
    phone?: string | null | undefined;
    agents?: Array<CreateUserAgentRequest> | undefined;
};
export type CreateUserRequest = {
    user: CreateUserUserRequest;
};
export declare const CreateUserStatusResponse: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type CreateUserStatusResponse = ClosedEnum<typeof CreateUserStatusResponse>;
export type CreateUserUserIdResponse = {
    type: string;
    identifier: string;
};
export declare const CreateUserRoleTypeResponse: {
    readonly Primary: "primary";
    readonly Secondary: "secondary";
};
export type CreateUserRoleTypeResponse = ClosedEnum<typeof CreateUserRoleTypeResponse>;
export declare const CreateUserRoleResponseEnum: {
    readonly Administrator: "administrator";
    readonly Aide: "aide";
    readonly Guardian: "guardian";
    readonly Parent: "parent";
    readonly Proctor: "proctor";
    readonly Relative: "relative";
    readonly Student: "student";
    readonly Teacher: "teacher";
};
export type CreateUserRoleResponseEnum = ClosedEnum<typeof CreateUserRoleResponseEnum>;
export type CreateUserOrgResponse = {
    href: string;
    sourcedId: string;
    type: string;
};
export type CreateUserRoleResponse = {
    roleType: CreateUserRoleTypeResponse;
    role: CreateUserRoleResponseEnum;
    org: CreateUserOrgResponse;
    userProfile?: string | undefined;
    beginDate: string | null;
    endDate: string | null;
};
export declare const CreateUserType: {
    readonly AcademicSession: "academicSession";
    readonly AssessmentLineItem: "assessmentLineItem";
    readonly Category: "category";
    readonly Class: "class";
    readonly Course: "course";
    readonly Demographics: "demographics";
    readonly Enrollment: "enrollment";
    readonly GradingPeriod: "gradingPeriod";
    readonly LineItem: "lineItem";
    readonly Org: "org";
    readonly Resource: "resource";
    readonly Result: "result";
    readonly ScoreScale: "scoreScale";
    readonly Student: "student";
    readonly Teacher: "teacher";
    readonly Term: "term";
    readonly User: "user";
    readonly ComponentResource: "componentResource";
    readonly CourseComponent: "courseComponent";
};
export type CreateUserType = ClosedEnum<typeof CreateUserType>;
export type CreateUserAgentResponse = {
    href: string;
    sourcedId: string;
    type: CreateUserType;
};
export type CreateUserPrimaryOrgResponse = {
    href: string;
    sourcedId: string;
    type: string;
};
export type CreateUserUserResponse = {
    sourcedId: string;
    status: CreateUserStatusResponse;
    dateLastModified?: Date | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    userMasterIdentifier?: string | null | undefined;
    username?: string | null | undefined;
    userIds?: Array<CreateUserUserIdResponse> | undefined;
    enabledUser: boolean;
    givenName: string;
    familyName: string;
    middleName?: string | null | undefined;
    roles: Array<CreateUserRoleResponse>;
    agents: Array<CreateUserAgentResponse>;
    primaryOrg?: CreateUserPrimaryOrgResponse | undefined;
    email?: string | null | undefined;
    preferredFirstName?: string | null | undefined;
    preferredMiddleName?: string | null | undefined;
    preferredLastName?: string | null | undefined;
    pronouns?: string | null | undefined;
    grades?: Array<string> | undefined;
    password?: string | null | undefined;
    sms?: string | null | undefined;
    phone?: string | null | undefined;
};
/**
 * User successfully created
 */
export type CreateUserResponse = {
    user: CreateUserUserResponse;
};
/** @internal */
export declare const CreateUserStatusRequest$inboundSchema: z.ZodNativeEnum<typeof CreateUserStatusRequest>;
/** @internal */
export declare const CreateUserStatusRequest$outboundSchema: z.ZodNativeEnum<typeof CreateUserStatusRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserStatusRequest$ {
    /** @deprecated use `CreateUserStatusRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `CreateUserStatusRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const CreateUserUserIdRequest$inboundSchema: z.ZodType<CreateUserUserIdRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserUserIdRequest$Outbound = {
    type: string;
    identifier: string;
};
/** @internal */
export declare const CreateUserUserIdRequest$outboundSchema: z.ZodType<CreateUserUserIdRequest$Outbound, z.ZodTypeDef, CreateUserUserIdRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserUserIdRequest$ {
    /** @deprecated use `CreateUserUserIdRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserUserIdRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserUserIdRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserUserIdRequest$Outbound, z.ZodTypeDef, CreateUserUserIdRequest>;
    /** @deprecated use `CreateUserUserIdRequest$Outbound` instead. */
    type Outbound = CreateUserUserIdRequest$Outbound;
}
export declare function createUserUserIdRequestToJSON(createUserUserIdRequest: CreateUserUserIdRequest): string;
export declare function createUserUserIdRequestFromJSON(jsonString: string): SafeParseResult<CreateUserUserIdRequest, SDKValidationError>;
/** @internal */
export declare const CreateUserRoleTypeRequest$inboundSchema: z.ZodNativeEnum<typeof CreateUserRoleTypeRequest>;
/** @internal */
export declare const CreateUserRoleTypeRequest$outboundSchema: z.ZodNativeEnum<typeof CreateUserRoleTypeRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserRoleTypeRequest$ {
    /** @deprecated use `CreateUserRoleTypeRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Primary: "primary";
        readonly Secondary: "secondary";
    }>;
    /** @deprecated use `CreateUserRoleTypeRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Primary: "primary";
        readonly Secondary: "secondary";
    }>;
}
/** @internal */
export declare const CreateUserRoleRequestEnum$inboundSchema: z.ZodNativeEnum<typeof CreateUserRoleRequestEnum>;
/** @internal */
export declare const CreateUserRoleRequestEnum$outboundSchema: z.ZodNativeEnum<typeof CreateUserRoleRequestEnum>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserRoleRequestEnum$ {
    /** @deprecated use `CreateUserRoleRequestEnum$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Administrator: "administrator";
        readonly Aide: "aide";
        readonly Guardian: "guardian";
        readonly Parent: "parent";
        readonly Proctor: "proctor";
        readonly Relative: "relative";
        readonly Student: "student";
        readonly Teacher: "teacher";
    }>;
    /** @deprecated use `CreateUserRoleRequestEnum$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Administrator: "administrator";
        readonly Aide: "aide";
        readonly Guardian: "guardian";
        readonly Parent: "parent";
        readonly Proctor: "proctor";
        readonly Relative: "relative";
        readonly Student: "student";
        readonly Teacher: "teacher";
    }>;
}
/** @internal */
export declare const CreateUserOrgRequest$inboundSchema: z.ZodType<CreateUserOrgRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserOrgRequest$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const CreateUserOrgRequest$outboundSchema: z.ZodType<CreateUserOrgRequest$Outbound, z.ZodTypeDef, CreateUserOrgRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserOrgRequest$ {
    /** @deprecated use `CreateUserOrgRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserOrgRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserOrgRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserOrgRequest$Outbound, z.ZodTypeDef, CreateUserOrgRequest>;
    /** @deprecated use `CreateUserOrgRequest$Outbound` instead. */
    type Outbound = CreateUserOrgRequest$Outbound;
}
export declare function createUserOrgRequestToJSON(createUserOrgRequest: CreateUserOrgRequest): string;
export declare function createUserOrgRequestFromJSON(jsonString: string): SafeParseResult<CreateUserOrgRequest, SDKValidationError>;
/** @internal */
export declare const CreateUserRoleRequest$inboundSchema: z.ZodType<CreateUserRoleRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserRoleRequest$Outbound = {
    roleType: string;
    role: string;
    org: CreateUserOrgRequest$Outbound;
    userProfile?: string | undefined;
    beginDate?: string | undefined;
    endDate?: string | undefined;
};
/** @internal */
export declare const CreateUserRoleRequest$outboundSchema: z.ZodType<CreateUserRoleRequest$Outbound, z.ZodTypeDef, CreateUserRoleRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserRoleRequest$ {
    /** @deprecated use `CreateUserRoleRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserRoleRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserRoleRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserRoleRequest$Outbound, z.ZodTypeDef, CreateUserRoleRequest>;
    /** @deprecated use `CreateUserRoleRequest$Outbound` instead. */
    type Outbound = CreateUserRoleRequest$Outbound;
}
export declare function createUserRoleRequestToJSON(createUserRoleRequest: CreateUserRoleRequest): string;
export declare function createUserRoleRequestFromJSON(jsonString: string): SafeParseResult<CreateUserRoleRequest, SDKValidationError>;
/** @internal */
export declare const CreateUserPrimaryOrgRequest$inboundSchema: z.ZodType<CreateUserPrimaryOrgRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserPrimaryOrgRequest$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const CreateUserPrimaryOrgRequest$outboundSchema: z.ZodType<CreateUserPrimaryOrgRequest$Outbound, z.ZodTypeDef, CreateUserPrimaryOrgRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserPrimaryOrgRequest$ {
    /** @deprecated use `CreateUserPrimaryOrgRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserPrimaryOrgRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserPrimaryOrgRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserPrimaryOrgRequest$Outbound, z.ZodTypeDef, CreateUserPrimaryOrgRequest>;
    /** @deprecated use `CreateUserPrimaryOrgRequest$Outbound` instead. */
    type Outbound = CreateUserPrimaryOrgRequest$Outbound;
}
export declare function createUserPrimaryOrgRequestToJSON(createUserPrimaryOrgRequest: CreateUserPrimaryOrgRequest): string;
export declare function createUserPrimaryOrgRequestFromJSON(jsonString: string): SafeParseResult<CreateUserPrimaryOrgRequest, SDKValidationError>;
/** @internal */
export declare const CreateUserAgentRequest$inboundSchema: z.ZodType<CreateUserAgentRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserAgentRequest$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const CreateUserAgentRequest$outboundSchema: z.ZodType<CreateUserAgentRequest$Outbound, z.ZodTypeDef, CreateUserAgentRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserAgentRequest$ {
    /** @deprecated use `CreateUserAgentRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserAgentRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserAgentRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserAgentRequest$Outbound, z.ZodTypeDef, CreateUserAgentRequest>;
    /** @deprecated use `CreateUserAgentRequest$Outbound` instead. */
    type Outbound = CreateUserAgentRequest$Outbound;
}
export declare function createUserAgentRequestToJSON(createUserAgentRequest: CreateUserAgentRequest): string;
export declare function createUserAgentRequestFromJSON(jsonString: string): SafeParseResult<CreateUserAgentRequest, SDKValidationError>;
/** @internal */
export declare const CreateUserUserRequest$inboundSchema: z.ZodType<CreateUserUserRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserUserRequest$Outbound = {
    sourcedId?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    status: string;
    userMasterIdentifier?: string | null | undefined;
    username?: string | null | undefined;
    userIds?: Array<CreateUserUserIdRequest$Outbound> | undefined;
    enabledUser: boolean;
    givenName: string;
    familyName: string;
    middleName?: string | null | undefined;
    roles: Array<CreateUserRoleRequest$Outbound>;
    primaryOrg?: CreateUserPrimaryOrgRequest$Outbound | undefined;
    email?: string | null | undefined;
    preferredFirstName?: string | null | undefined;
    preferredMiddleName?: string | null | undefined;
    preferredLastName?: string | null | undefined;
    pronouns?: string | null | undefined;
    grades?: Array<string> | undefined;
    password?: string | null | undefined;
    sms?: string | null | undefined;
    phone?: string | null | undefined;
    agents?: Array<CreateUserAgentRequest$Outbound> | undefined;
};
/** @internal */
export declare const CreateUserUserRequest$outboundSchema: z.ZodType<CreateUserUserRequest$Outbound, z.ZodTypeDef, CreateUserUserRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserUserRequest$ {
    /** @deprecated use `CreateUserUserRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserUserRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserUserRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserUserRequest$Outbound, z.ZodTypeDef, CreateUserUserRequest>;
    /** @deprecated use `CreateUserUserRequest$Outbound` instead. */
    type Outbound = CreateUserUserRequest$Outbound;
}
export declare function createUserUserRequestToJSON(createUserUserRequest: CreateUserUserRequest): string;
export declare function createUserUserRequestFromJSON(jsonString: string): SafeParseResult<CreateUserUserRequest, SDKValidationError>;
/** @internal */
export declare const CreateUserRequest$inboundSchema: z.ZodType<CreateUserRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserRequest$Outbound = {
    user: CreateUserUserRequest$Outbound;
};
/** @internal */
export declare const CreateUserRequest$outboundSchema: z.ZodType<CreateUserRequest$Outbound, z.ZodTypeDef, CreateUserRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserRequest$ {
    /** @deprecated use `CreateUserRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserRequest$Outbound, z.ZodTypeDef, CreateUserRequest>;
    /** @deprecated use `CreateUserRequest$Outbound` instead. */
    type Outbound = CreateUserRequest$Outbound;
}
export declare function createUserRequestToJSON(createUserRequest: CreateUserRequest): string;
export declare function createUserRequestFromJSON(jsonString: string): SafeParseResult<CreateUserRequest, SDKValidationError>;
/** @internal */
export declare const CreateUserStatusResponse$inboundSchema: z.ZodNativeEnum<typeof CreateUserStatusResponse>;
/** @internal */
export declare const CreateUserStatusResponse$outboundSchema: z.ZodNativeEnum<typeof CreateUserStatusResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserStatusResponse$ {
    /** @deprecated use `CreateUserStatusResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `CreateUserStatusResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const CreateUserUserIdResponse$inboundSchema: z.ZodType<CreateUserUserIdResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserUserIdResponse$Outbound = {
    type: string;
    identifier: string;
};
/** @internal */
export declare const CreateUserUserIdResponse$outboundSchema: z.ZodType<CreateUserUserIdResponse$Outbound, z.ZodTypeDef, CreateUserUserIdResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserUserIdResponse$ {
    /** @deprecated use `CreateUserUserIdResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserUserIdResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserUserIdResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserUserIdResponse$Outbound, z.ZodTypeDef, CreateUserUserIdResponse>;
    /** @deprecated use `CreateUserUserIdResponse$Outbound` instead. */
    type Outbound = CreateUserUserIdResponse$Outbound;
}
export declare function createUserUserIdResponseToJSON(createUserUserIdResponse: CreateUserUserIdResponse): string;
export declare function createUserUserIdResponseFromJSON(jsonString: string): SafeParseResult<CreateUserUserIdResponse, SDKValidationError>;
/** @internal */
export declare const CreateUserRoleTypeResponse$inboundSchema: z.ZodNativeEnum<typeof CreateUserRoleTypeResponse>;
/** @internal */
export declare const CreateUserRoleTypeResponse$outboundSchema: z.ZodNativeEnum<typeof CreateUserRoleTypeResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserRoleTypeResponse$ {
    /** @deprecated use `CreateUserRoleTypeResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Primary: "primary";
        readonly Secondary: "secondary";
    }>;
    /** @deprecated use `CreateUserRoleTypeResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Primary: "primary";
        readonly Secondary: "secondary";
    }>;
}
/** @internal */
export declare const CreateUserRoleResponseEnum$inboundSchema: z.ZodNativeEnum<typeof CreateUserRoleResponseEnum>;
/** @internal */
export declare const CreateUserRoleResponseEnum$outboundSchema: z.ZodNativeEnum<typeof CreateUserRoleResponseEnum>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserRoleResponseEnum$ {
    /** @deprecated use `CreateUserRoleResponseEnum$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Administrator: "administrator";
        readonly Aide: "aide";
        readonly Guardian: "guardian";
        readonly Parent: "parent";
        readonly Proctor: "proctor";
        readonly Relative: "relative";
        readonly Student: "student";
        readonly Teacher: "teacher";
    }>;
    /** @deprecated use `CreateUserRoleResponseEnum$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Administrator: "administrator";
        readonly Aide: "aide";
        readonly Guardian: "guardian";
        readonly Parent: "parent";
        readonly Proctor: "proctor";
        readonly Relative: "relative";
        readonly Student: "student";
        readonly Teacher: "teacher";
    }>;
}
/** @internal */
export declare const CreateUserOrgResponse$inboundSchema: z.ZodType<CreateUserOrgResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserOrgResponse$Outbound = {
    href: string;
    sourcedId: string;
    type: string;
};
/** @internal */
export declare const CreateUserOrgResponse$outboundSchema: z.ZodType<CreateUserOrgResponse$Outbound, z.ZodTypeDef, CreateUserOrgResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserOrgResponse$ {
    /** @deprecated use `CreateUserOrgResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserOrgResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserOrgResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserOrgResponse$Outbound, z.ZodTypeDef, CreateUserOrgResponse>;
    /** @deprecated use `CreateUserOrgResponse$Outbound` instead. */
    type Outbound = CreateUserOrgResponse$Outbound;
}
export declare function createUserOrgResponseToJSON(createUserOrgResponse: CreateUserOrgResponse): string;
export declare function createUserOrgResponseFromJSON(jsonString: string): SafeParseResult<CreateUserOrgResponse, SDKValidationError>;
/** @internal */
export declare const CreateUserRoleResponse$inboundSchema: z.ZodType<CreateUserRoleResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserRoleResponse$Outbound = {
    roleType: string;
    role: string;
    org: CreateUserOrgResponse$Outbound;
    userProfile?: string | undefined;
    beginDate: string | null;
    endDate: string | null;
};
/** @internal */
export declare const CreateUserRoleResponse$outboundSchema: z.ZodType<CreateUserRoleResponse$Outbound, z.ZodTypeDef, CreateUserRoleResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserRoleResponse$ {
    /** @deprecated use `CreateUserRoleResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserRoleResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserRoleResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserRoleResponse$Outbound, z.ZodTypeDef, CreateUserRoleResponse>;
    /** @deprecated use `CreateUserRoleResponse$Outbound` instead. */
    type Outbound = CreateUserRoleResponse$Outbound;
}
export declare function createUserRoleResponseToJSON(createUserRoleResponse: CreateUserRoleResponse): string;
export declare function createUserRoleResponseFromJSON(jsonString: string): SafeParseResult<CreateUserRoleResponse, SDKValidationError>;
/** @internal */
export declare const CreateUserType$inboundSchema: z.ZodNativeEnum<typeof CreateUserType>;
/** @internal */
export declare const CreateUserType$outboundSchema: z.ZodNativeEnum<typeof CreateUserType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserType$ {
    /** @deprecated use `CreateUserType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly AcademicSession: "academicSession";
        readonly AssessmentLineItem: "assessmentLineItem";
        readonly Category: "category";
        readonly Class: "class";
        readonly Course: "course";
        readonly Demographics: "demographics";
        readonly Enrollment: "enrollment";
        readonly GradingPeriod: "gradingPeriod";
        readonly LineItem: "lineItem";
        readonly Org: "org";
        readonly Resource: "resource";
        readonly Result: "result";
        readonly ScoreScale: "scoreScale";
        readonly Student: "student";
        readonly Teacher: "teacher";
        readonly Term: "term";
        readonly User: "user";
        readonly ComponentResource: "componentResource";
        readonly CourseComponent: "courseComponent";
    }>;
    /** @deprecated use `CreateUserType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly AcademicSession: "academicSession";
        readonly AssessmentLineItem: "assessmentLineItem";
        readonly Category: "category";
        readonly Class: "class";
        readonly Course: "course";
        readonly Demographics: "demographics";
        readonly Enrollment: "enrollment";
        readonly GradingPeriod: "gradingPeriod";
        readonly LineItem: "lineItem";
        readonly Org: "org";
        readonly Resource: "resource";
        readonly Result: "result";
        readonly ScoreScale: "scoreScale";
        readonly Student: "student";
        readonly Teacher: "teacher";
        readonly Term: "term";
        readonly User: "user";
        readonly ComponentResource: "componentResource";
        readonly CourseComponent: "courseComponent";
    }>;
}
/** @internal */
export declare const CreateUserAgentResponse$inboundSchema: z.ZodType<CreateUserAgentResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserAgentResponse$Outbound = {
    href: string;
    sourcedId: string;
    type: string;
};
/** @internal */
export declare const CreateUserAgentResponse$outboundSchema: z.ZodType<CreateUserAgentResponse$Outbound, z.ZodTypeDef, CreateUserAgentResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserAgentResponse$ {
    /** @deprecated use `CreateUserAgentResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserAgentResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserAgentResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserAgentResponse$Outbound, z.ZodTypeDef, CreateUserAgentResponse>;
    /** @deprecated use `CreateUserAgentResponse$Outbound` instead. */
    type Outbound = CreateUserAgentResponse$Outbound;
}
export declare function createUserAgentResponseToJSON(createUserAgentResponse: CreateUserAgentResponse): string;
export declare function createUserAgentResponseFromJSON(jsonString: string): SafeParseResult<CreateUserAgentResponse, SDKValidationError>;
/** @internal */
export declare const CreateUserPrimaryOrgResponse$inboundSchema: z.ZodType<CreateUserPrimaryOrgResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserPrimaryOrgResponse$Outbound = {
    href: string;
    sourcedId: string;
    type: string;
};
/** @internal */
export declare const CreateUserPrimaryOrgResponse$outboundSchema: z.ZodType<CreateUserPrimaryOrgResponse$Outbound, z.ZodTypeDef, CreateUserPrimaryOrgResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserPrimaryOrgResponse$ {
    /** @deprecated use `CreateUserPrimaryOrgResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserPrimaryOrgResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserPrimaryOrgResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserPrimaryOrgResponse$Outbound, z.ZodTypeDef, CreateUserPrimaryOrgResponse>;
    /** @deprecated use `CreateUserPrimaryOrgResponse$Outbound` instead. */
    type Outbound = CreateUserPrimaryOrgResponse$Outbound;
}
export declare function createUserPrimaryOrgResponseToJSON(createUserPrimaryOrgResponse: CreateUserPrimaryOrgResponse): string;
export declare function createUserPrimaryOrgResponseFromJSON(jsonString: string): SafeParseResult<CreateUserPrimaryOrgResponse, SDKValidationError>;
/** @internal */
export declare const CreateUserUserResponse$inboundSchema: z.ZodType<CreateUserUserResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserUserResponse$Outbound = {
    sourcedId: string;
    status: string;
    dateLastModified?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    userMasterIdentifier?: string | null | undefined;
    username?: string | null | undefined;
    userIds?: Array<CreateUserUserIdResponse$Outbound> | undefined;
    enabledUser: boolean;
    givenName: string;
    familyName: string;
    middleName?: string | null | undefined;
    roles: Array<CreateUserRoleResponse$Outbound>;
    agents: Array<CreateUserAgentResponse$Outbound>;
    primaryOrg?: CreateUserPrimaryOrgResponse$Outbound | undefined;
    email?: string | null | undefined;
    preferredFirstName?: string | null | undefined;
    preferredMiddleName?: string | null | undefined;
    preferredLastName?: string | null | undefined;
    pronouns?: string | null | undefined;
    grades?: Array<string> | undefined;
    password?: string | null | undefined;
    sms?: string | null | undefined;
    phone?: string | null | undefined;
};
/** @internal */
export declare const CreateUserUserResponse$outboundSchema: z.ZodType<CreateUserUserResponse$Outbound, z.ZodTypeDef, CreateUserUserResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserUserResponse$ {
    /** @deprecated use `CreateUserUserResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserUserResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserUserResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserUserResponse$Outbound, z.ZodTypeDef, CreateUserUserResponse>;
    /** @deprecated use `CreateUserUserResponse$Outbound` instead. */
    type Outbound = CreateUserUserResponse$Outbound;
}
export declare function createUserUserResponseToJSON(createUserUserResponse: CreateUserUserResponse): string;
export declare function createUserUserResponseFromJSON(jsonString: string): SafeParseResult<CreateUserUserResponse, SDKValidationError>;
/** @internal */
export declare const CreateUserResponse$inboundSchema: z.ZodType<CreateUserResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateUserResponse$Outbound = {
    user: CreateUserUserResponse$Outbound;
};
/** @internal */
export declare const CreateUserResponse$outboundSchema: z.ZodType<CreateUserResponse$Outbound, z.ZodTypeDef, CreateUserResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateUserResponse$ {
    /** @deprecated use `CreateUserResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateUserResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateUserResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateUserResponse$Outbound, z.ZodTypeDef, CreateUserResponse>;
    /** @deprecated use `CreateUserResponse$Outbound` instead. */
    type Outbound = CreateUserResponse$Outbound;
}
export declare function createUserResponseToJSON(createUserResponse: CreateUserResponse): string;
export declare function createUserResponseFromJSON(jsonString: string): SafeParseResult<CreateUserResponse, SDKValidationError>;
//# sourceMappingURL=createuser.d.ts.map