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 UpdateUserStatusRequest: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type UpdateUserStatusRequest = ClosedEnum<typeof UpdateUserStatusRequest>;
export type UpdateUserUserIdRequest = {
    type: string;
    identifier: string;
};
export declare const UpdateUserRoleTypeRequest: {
    readonly Primary: "primary";
    readonly Secondary: "secondary";
};
export type UpdateUserRoleTypeRequest = ClosedEnum<typeof UpdateUserRoleTypeRequest>;
export declare const UpdateUserRoleRequestEnum: {
    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 UpdateUserRoleRequestEnum = ClosedEnum<typeof UpdateUserRoleRequestEnum>;
export type UpdateUserOrgRequest = {
    sourcedId: string;
};
export type UpdateUserRoleRequest = {
    roleType: UpdateUserRoleTypeRequest;
    role: UpdateUserRoleRequestEnum;
    org: UpdateUserOrgRequest;
    userProfile?: string | undefined;
    beginDate?: string | undefined;
    endDate?: string | undefined;
};
export type UpdateUserPrimaryOrgRequest = {
    sourcedId: string;
};
export type UpdateUserAgentRequest = {
    sourcedId: string;
};
export type UpdateUserUserRequest = {
    sourcedId?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    status?: UpdateUserStatusRequest | undefined;
    userMasterIdentifier?: string | null | undefined;
    username?: string | null | undefined;
    userIds?: Array<UpdateUserUserIdRequest> | undefined;
    enabledUser: boolean;
    givenName: string;
    familyName: string;
    middleName?: string | null | undefined;
    roles: Array<UpdateUserRoleRequest>;
    primaryOrg?: UpdateUserPrimaryOrgRequest | 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<UpdateUserAgentRequest> | undefined;
};
export type UpdateUserRequestBody = {
    user: UpdateUserUserRequest;
};
export type UpdateUserRequest = {
    /**
     * The sourcedId of the user to update
     */
    sourcedId: string;
    requestBody: UpdateUserRequestBody;
};
export declare const UpdateUserStatusResponse: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type UpdateUserStatusResponse = ClosedEnum<typeof UpdateUserStatusResponse>;
export type UpdateUserUserIdResponse = {
    type: string;
    identifier: string;
};
export declare const UpdateUserRoleTypeResponse: {
    readonly Primary: "primary";
    readonly Secondary: "secondary";
};
export type UpdateUserRoleTypeResponse = ClosedEnum<typeof UpdateUserRoleTypeResponse>;
export declare const UpdateUserRoleResponseEnum: {
    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 UpdateUserRoleResponseEnum = ClosedEnum<typeof UpdateUserRoleResponseEnum>;
export type UpdateUserOrgResponse = {
    href: string;
    sourcedId: string;
    type: string;
};
export type UpdateUserRoleResponse = {
    roleType: UpdateUserRoleTypeResponse;
    role: UpdateUserRoleResponseEnum;
    org: UpdateUserOrgResponse;
    userProfile?: string | undefined;
    beginDate: string | null;
    endDate: string | null;
};
export declare const UpdateUserType: {
    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 UpdateUserType = ClosedEnum<typeof UpdateUserType>;
export type UpdateUserAgentResponse = {
    href: string;
    sourcedId: string;
    type: UpdateUserType;
};
export type UpdateUserPrimaryOrgResponse = {
    href: string;
    sourcedId: string;
    type: string;
};
export type UpdateUserUserResponse = {
    sourcedId: string;
    status: UpdateUserStatusResponse;
    dateLastModified?: Date | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    userMasterIdentifier?: string | null | undefined;
    username?: string | null | undefined;
    userIds?: Array<UpdateUserUserIdResponse> | undefined;
    enabledUser: boolean;
    givenName: string;
    familyName: string;
    middleName?: string | null | undefined;
    roles: Array<UpdateUserRoleResponse>;
    agents: Array<UpdateUserAgentResponse>;
    primaryOrg?: UpdateUserPrimaryOrgResponse | 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 updated
 */
export type UpdateUserResponse = {
    user: UpdateUserUserResponse;
};
/** @internal */
export declare const UpdateUserStatusRequest$inboundSchema: z.ZodNativeEnum<typeof UpdateUserStatusRequest>;
/** @internal */
export declare const UpdateUserStatusRequest$outboundSchema: z.ZodNativeEnum<typeof UpdateUserStatusRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserStatusRequest$ {
    /** @deprecated use `UpdateUserStatusRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `UpdateUserStatusRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const UpdateUserUserIdRequest$inboundSchema: z.ZodType<UpdateUserUserIdRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserUserIdRequest$Outbound = {
    type: string;
    identifier: string;
};
/** @internal */
export declare const UpdateUserUserIdRequest$outboundSchema: z.ZodType<UpdateUserUserIdRequest$Outbound, z.ZodTypeDef, UpdateUserUserIdRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserUserIdRequest$ {
    /** @deprecated use `UpdateUserUserIdRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserUserIdRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserUserIdRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserUserIdRequest$Outbound, z.ZodTypeDef, UpdateUserUserIdRequest>;
    /** @deprecated use `UpdateUserUserIdRequest$Outbound` instead. */
    type Outbound = UpdateUserUserIdRequest$Outbound;
}
export declare function updateUserUserIdRequestToJSON(updateUserUserIdRequest: UpdateUserUserIdRequest): string;
export declare function updateUserUserIdRequestFromJSON(jsonString: string): SafeParseResult<UpdateUserUserIdRequest, SDKValidationError>;
/** @internal */
export declare const UpdateUserRoleTypeRequest$inboundSchema: z.ZodNativeEnum<typeof UpdateUserRoleTypeRequest>;
/** @internal */
export declare const UpdateUserRoleTypeRequest$outboundSchema: z.ZodNativeEnum<typeof UpdateUserRoleTypeRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserRoleTypeRequest$ {
    /** @deprecated use `UpdateUserRoleTypeRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Primary: "primary";
        readonly Secondary: "secondary";
    }>;
    /** @deprecated use `UpdateUserRoleTypeRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Primary: "primary";
        readonly Secondary: "secondary";
    }>;
}
/** @internal */
export declare const UpdateUserRoleRequestEnum$inboundSchema: z.ZodNativeEnum<typeof UpdateUserRoleRequestEnum>;
/** @internal */
export declare const UpdateUserRoleRequestEnum$outboundSchema: z.ZodNativeEnum<typeof UpdateUserRoleRequestEnum>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserRoleRequestEnum$ {
    /** @deprecated use `UpdateUserRoleRequestEnum$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 `UpdateUserRoleRequestEnum$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 UpdateUserOrgRequest$inboundSchema: z.ZodType<UpdateUserOrgRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserOrgRequest$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const UpdateUserOrgRequest$outboundSchema: z.ZodType<UpdateUserOrgRequest$Outbound, z.ZodTypeDef, UpdateUserOrgRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserOrgRequest$ {
    /** @deprecated use `UpdateUserOrgRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserOrgRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserOrgRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserOrgRequest$Outbound, z.ZodTypeDef, UpdateUserOrgRequest>;
    /** @deprecated use `UpdateUserOrgRequest$Outbound` instead. */
    type Outbound = UpdateUserOrgRequest$Outbound;
}
export declare function updateUserOrgRequestToJSON(updateUserOrgRequest: UpdateUserOrgRequest): string;
export declare function updateUserOrgRequestFromJSON(jsonString: string): SafeParseResult<UpdateUserOrgRequest, SDKValidationError>;
/** @internal */
export declare const UpdateUserRoleRequest$inboundSchema: z.ZodType<UpdateUserRoleRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserRoleRequest$Outbound = {
    roleType: string;
    role: string;
    org: UpdateUserOrgRequest$Outbound;
    userProfile?: string | undefined;
    beginDate?: string | undefined;
    endDate?: string | undefined;
};
/** @internal */
export declare const UpdateUserRoleRequest$outboundSchema: z.ZodType<UpdateUserRoleRequest$Outbound, z.ZodTypeDef, UpdateUserRoleRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserRoleRequest$ {
    /** @deprecated use `UpdateUserRoleRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserRoleRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserRoleRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserRoleRequest$Outbound, z.ZodTypeDef, UpdateUserRoleRequest>;
    /** @deprecated use `UpdateUserRoleRequest$Outbound` instead. */
    type Outbound = UpdateUserRoleRequest$Outbound;
}
export declare function updateUserRoleRequestToJSON(updateUserRoleRequest: UpdateUserRoleRequest): string;
export declare function updateUserRoleRequestFromJSON(jsonString: string): SafeParseResult<UpdateUserRoleRequest, SDKValidationError>;
/** @internal */
export declare const UpdateUserPrimaryOrgRequest$inboundSchema: z.ZodType<UpdateUserPrimaryOrgRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserPrimaryOrgRequest$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const UpdateUserPrimaryOrgRequest$outboundSchema: z.ZodType<UpdateUserPrimaryOrgRequest$Outbound, z.ZodTypeDef, UpdateUserPrimaryOrgRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserPrimaryOrgRequest$ {
    /** @deprecated use `UpdateUserPrimaryOrgRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserPrimaryOrgRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserPrimaryOrgRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserPrimaryOrgRequest$Outbound, z.ZodTypeDef, UpdateUserPrimaryOrgRequest>;
    /** @deprecated use `UpdateUserPrimaryOrgRequest$Outbound` instead. */
    type Outbound = UpdateUserPrimaryOrgRequest$Outbound;
}
export declare function updateUserPrimaryOrgRequestToJSON(updateUserPrimaryOrgRequest: UpdateUserPrimaryOrgRequest): string;
export declare function updateUserPrimaryOrgRequestFromJSON(jsonString: string): SafeParseResult<UpdateUserPrimaryOrgRequest, SDKValidationError>;
/** @internal */
export declare const UpdateUserAgentRequest$inboundSchema: z.ZodType<UpdateUserAgentRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserAgentRequest$Outbound = {
    sourcedId: string;
};
/** @internal */
export declare const UpdateUserAgentRequest$outboundSchema: z.ZodType<UpdateUserAgentRequest$Outbound, z.ZodTypeDef, UpdateUserAgentRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserAgentRequest$ {
    /** @deprecated use `UpdateUserAgentRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserAgentRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserAgentRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserAgentRequest$Outbound, z.ZodTypeDef, UpdateUserAgentRequest>;
    /** @deprecated use `UpdateUserAgentRequest$Outbound` instead. */
    type Outbound = UpdateUserAgentRequest$Outbound;
}
export declare function updateUserAgentRequestToJSON(updateUserAgentRequest: UpdateUserAgentRequest): string;
export declare function updateUserAgentRequestFromJSON(jsonString: string): SafeParseResult<UpdateUserAgentRequest, SDKValidationError>;
/** @internal */
export declare const UpdateUserUserRequest$inboundSchema: z.ZodType<UpdateUserUserRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserUserRequest$Outbound = {
    sourcedId?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    status: string;
    userMasterIdentifier?: string | null | undefined;
    username?: string | null | undefined;
    userIds?: Array<UpdateUserUserIdRequest$Outbound> | undefined;
    enabledUser: boolean;
    givenName: string;
    familyName: string;
    middleName?: string | null | undefined;
    roles: Array<UpdateUserRoleRequest$Outbound>;
    primaryOrg?: UpdateUserPrimaryOrgRequest$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<UpdateUserAgentRequest$Outbound> | undefined;
};
/** @internal */
export declare const UpdateUserUserRequest$outboundSchema: z.ZodType<UpdateUserUserRequest$Outbound, z.ZodTypeDef, UpdateUserUserRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserUserRequest$ {
    /** @deprecated use `UpdateUserUserRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserUserRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserUserRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserUserRequest$Outbound, z.ZodTypeDef, UpdateUserUserRequest>;
    /** @deprecated use `UpdateUserUserRequest$Outbound` instead. */
    type Outbound = UpdateUserUserRequest$Outbound;
}
export declare function updateUserUserRequestToJSON(updateUserUserRequest: UpdateUserUserRequest): string;
export declare function updateUserUserRequestFromJSON(jsonString: string): SafeParseResult<UpdateUserUserRequest, SDKValidationError>;
/** @internal */
export declare const UpdateUserRequestBody$inboundSchema: z.ZodType<UpdateUserRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserRequestBody$Outbound = {
    user: UpdateUserUserRequest$Outbound;
};
/** @internal */
export declare const UpdateUserRequestBody$outboundSchema: z.ZodType<UpdateUserRequestBody$Outbound, z.ZodTypeDef, UpdateUserRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserRequestBody$ {
    /** @deprecated use `UpdateUserRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserRequestBody$Outbound, z.ZodTypeDef, UpdateUserRequestBody>;
    /** @deprecated use `UpdateUserRequestBody$Outbound` instead. */
    type Outbound = UpdateUserRequestBody$Outbound;
}
export declare function updateUserRequestBodyToJSON(updateUserRequestBody: UpdateUserRequestBody): string;
export declare function updateUserRequestBodyFromJSON(jsonString: string): SafeParseResult<UpdateUserRequestBody, SDKValidationError>;
/** @internal */
export declare const UpdateUserRequest$inboundSchema: z.ZodType<UpdateUserRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserRequest$Outbound = {
    sourcedId: string;
    RequestBody: UpdateUserRequestBody$Outbound;
};
/** @internal */
export declare const UpdateUserRequest$outboundSchema: z.ZodType<UpdateUserRequest$Outbound, z.ZodTypeDef, UpdateUserRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserRequest$ {
    /** @deprecated use `UpdateUserRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserRequest$Outbound, z.ZodTypeDef, UpdateUserRequest>;
    /** @deprecated use `UpdateUserRequest$Outbound` instead. */
    type Outbound = UpdateUserRequest$Outbound;
}
export declare function updateUserRequestToJSON(updateUserRequest: UpdateUserRequest): string;
export declare function updateUserRequestFromJSON(jsonString: string): SafeParseResult<UpdateUserRequest, SDKValidationError>;
/** @internal */
export declare const UpdateUserStatusResponse$inboundSchema: z.ZodNativeEnum<typeof UpdateUserStatusResponse>;
/** @internal */
export declare const UpdateUserStatusResponse$outboundSchema: z.ZodNativeEnum<typeof UpdateUserStatusResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserStatusResponse$ {
    /** @deprecated use `UpdateUserStatusResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `UpdateUserStatusResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const UpdateUserUserIdResponse$inboundSchema: z.ZodType<UpdateUserUserIdResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserUserIdResponse$Outbound = {
    type: string;
    identifier: string;
};
/** @internal */
export declare const UpdateUserUserIdResponse$outboundSchema: z.ZodType<UpdateUserUserIdResponse$Outbound, z.ZodTypeDef, UpdateUserUserIdResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserUserIdResponse$ {
    /** @deprecated use `UpdateUserUserIdResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserUserIdResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserUserIdResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserUserIdResponse$Outbound, z.ZodTypeDef, UpdateUserUserIdResponse>;
    /** @deprecated use `UpdateUserUserIdResponse$Outbound` instead. */
    type Outbound = UpdateUserUserIdResponse$Outbound;
}
export declare function updateUserUserIdResponseToJSON(updateUserUserIdResponse: UpdateUserUserIdResponse): string;
export declare function updateUserUserIdResponseFromJSON(jsonString: string): SafeParseResult<UpdateUserUserIdResponse, SDKValidationError>;
/** @internal */
export declare const UpdateUserRoleTypeResponse$inboundSchema: z.ZodNativeEnum<typeof UpdateUserRoleTypeResponse>;
/** @internal */
export declare const UpdateUserRoleTypeResponse$outboundSchema: z.ZodNativeEnum<typeof UpdateUserRoleTypeResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserRoleTypeResponse$ {
    /** @deprecated use `UpdateUserRoleTypeResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Primary: "primary";
        readonly Secondary: "secondary";
    }>;
    /** @deprecated use `UpdateUserRoleTypeResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Primary: "primary";
        readonly Secondary: "secondary";
    }>;
}
/** @internal */
export declare const UpdateUserRoleResponseEnum$inboundSchema: z.ZodNativeEnum<typeof UpdateUserRoleResponseEnum>;
/** @internal */
export declare const UpdateUserRoleResponseEnum$outboundSchema: z.ZodNativeEnum<typeof UpdateUserRoleResponseEnum>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserRoleResponseEnum$ {
    /** @deprecated use `UpdateUserRoleResponseEnum$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 `UpdateUserRoleResponseEnum$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 UpdateUserOrgResponse$inboundSchema: z.ZodType<UpdateUserOrgResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserOrgResponse$Outbound = {
    href: string;
    sourcedId: string;
    type: string;
};
/** @internal */
export declare const UpdateUserOrgResponse$outboundSchema: z.ZodType<UpdateUserOrgResponse$Outbound, z.ZodTypeDef, UpdateUserOrgResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserOrgResponse$ {
    /** @deprecated use `UpdateUserOrgResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserOrgResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserOrgResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserOrgResponse$Outbound, z.ZodTypeDef, UpdateUserOrgResponse>;
    /** @deprecated use `UpdateUserOrgResponse$Outbound` instead. */
    type Outbound = UpdateUserOrgResponse$Outbound;
}
export declare function updateUserOrgResponseToJSON(updateUserOrgResponse: UpdateUserOrgResponse): string;
export declare function updateUserOrgResponseFromJSON(jsonString: string): SafeParseResult<UpdateUserOrgResponse, SDKValidationError>;
/** @internal */
export declare const UpdateUserRoleResponse$inboundSchema: z.ZodType<UpdateUserRoleResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserRoleResponse$Outbound = {
    roleType: string;
    role: string;
    org: UpdateUserOrgResponse$Outbound;
    userProfile?: string | undefined;
    beginDate: string | null;
    endDate: string | null;
};
/** @internal */
export declare const UpdateUserRoleResponse$outboundSchema: z.ZodType<UpdateUserRoleResponse$Outbound, z.ZodTypeDef, UpdateUserRoleResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserRoleResponse$ {
    /** @deprecated use `UpdateUserRoleResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserRoleResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserRoleResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserRoleResponse$Outbound, z.ZodTypeDef, UpdateUserRoleResponse>;
    /** @deprecated use `UpdateUserRoleResponse$Outbound` instead. */
    type Outbound = UpdateUserRoleResponse$Outbound;
}
export declare function updateUserRoleResponseToJSON(updateUserRoleResponse: UpdateUserRoleResponse): string;
export declare function updateUserRoleResponseFromJSON(jsonString: string): SafeParseResult<UpdateUserRoleResponse, SDKValidationError>;
/** @internal */
export declare const UpdateUserType$inboundSchema: z.ZodNativeEnum<typeof UpdateUserType>;
/** @internal */
export declare const UpdateUserType$outboundSchema: z.ZodNativeEnum<typeof UpdateUserType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserType$ {
    /** @deprecated use `UpdateUserType$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 `UpdateUserType$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 UpdateUserAgentResponse$inboundSchema: z.ZodType<UpdateUserAgentResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserAgentResponse$Outbound = {
    href: string;
    sourcedId: string;
    type: string;
};
/** @internal */
export declare const UpdateUserAgentResponse$outboundSchema: z.ZodType<UpdateUserAgentResponse$Outbound, z.ZodTypeDef, UpdateUserAgentResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserAgentResponse$ {
    /** @deprecated use `UpdateUserAgentResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserAgentResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserAgentResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserAgentResponse$Outbound, z.ZodTypeDef, UpdateUserAgentResponse>;
    /** @deprecated use `UpdateUserAgentResponse$Outbound` instead. */
    type Outbound = UpdateUserAgentResponse$Outbound;
}
export declare function updateUserAgentResponseToJSON(updateUserAgentResponse: UpdateUserAgentResponse): string;
export declare function updateUserAgentResponseFromJSON(jsonString: string): SafeParseResult<UpdateUserAgentResponse, SDKValidationError>;
/** @internal */
export declare const UpdateUserPrimaryOrgResponse$inboundSchema: z.ZodType<UpdateUserPrimaryOrgResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserPrimaryOrgResponse$Outbound = {
    href: string;
    sourcedId: string;
    type: string;
};
/** @internal */
export declare const UpdateUserPrimaryOrgResponse$outboundSchema: z.ZodType<UpdateUserPrimaryOrgResponse$Outbound, z.ZodTypeDef, UpdateUserPrimaryOrgResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserPrimaryOrgResponse$ {
    /** @deprecated use `UpdateUserPrimaryOrgResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserPrimaryOrgResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserPrimaryOrgResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserPrimaryOrgResponse$Outbound, z.ZodTypeDef, UpdateUserPrimaryOrgResponse>;
    /** @deprecated use `UpdateUserPrimaryOrgResponse$Outbound` instead. */
    type Outbound = UpdateUserPrimaryOrgResponse$Outbound;
}
export declare function updateUserPrimaryOrgResponseToJSON(updateUserPrimaryOrgResponse: UpdateUserPrimaryOrgResponse): string;
export declare function updateUserPrimaryOrgResponseFromJSON(jsonString: string): SafeParseResult<UpdateUserPrimaryOrgResponse, SDKValidationError>;
/** @internal */
export declare const UpdateUserUserResponse$inboundSchema: z.ZodType<UpdateUserUserResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserUserResponse$Outbound = {
    sourcedId: string;
    status: string;
    dateLastModified?: string | undefined;
    metadata?: {
        [k: string]: any;
    } | null | undefined;
    userMasterIdentifier?: string | null | undefined;
    username?: string | null | undefined;
    userIds?: Array<UpdateUserUserIdResponse$Outbound> | undefined;
    enabledUser: boolean;
    givenName: string;
    familyName: string;
    middleName?: string | null | undefined;
    roles: Array<UpdateUserRoleResponse$Outbound>;
    agents: Array<UpdateUserAgentResponse$Outbound>;
    primaryOrg?: UpdateUserPrimaryOrgResponse$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 UpdateUserUserResponse$outboundSchema: z.ZodType<UpdateUserUserResponse$Outbound, z.ZodTypeDef, UpdateUserUserResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserUserResponse$ {
    /** @deprecated use `UpdateUserUserResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserUserResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserUserResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserUserResponse$Outbound, z.ZodTypeDef, UpdateUserUserResponse>;
    /** @deprecated use `UpdateUserUserResponse$Outbound` instead. */
    type Outbound = UpdateUserUserResponse$Outbound;
}
export declare function updateUserUserResponseToJSON(updateUserUserResponse: UpdateUserUserResponse): string;
export declare function updateUserUserResponseFromJSON(jsonString: string): SafeParseResult<UpdateUserUserResponse, SDKValidationError>;
/** @internal */
export declare const UpdateUserResponse$inboundSchema: z.ZodType<UpdateUserResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type UpdateUserResponse$Outbound = {
    user: UpdateUserUserResponse$Outbound;
};
/** @internal */
export declare const UpdateUserResponse$outboundSchema: z.ZodType<UpdateUserResponse$Outbound, z.ZodTypeDef, UpdateUserResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace UpdateUserResponse$ {
    /** @deprecated use `UpdateUserResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<UpdateUserResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `UpdateUserResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<UpdateUserResponse$Outbound, z.ZodTypeDef, UpdateUserResponse>;
    /** @deprecated use `UpdateUserResponse$Outbound` instead. */
    type Outbound = UpdateUserResponse$Outbound;
}
export declare function updateUserResponseToJSON(updateUserResponse: UpdateUserResponse): string;
export declare function updateUserResponseFromJSON(jsonString: string): SafeParseResult<UpdateUserResponse, SDKValidationError>;
//# sourceMappingURL=updateuser.d.ts.map