import * as z from "zod";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Address, Address$Outbound } from "./address.js";
import { CustomMappings, CustomMappings$Outbound } from "./custommappings.js";
import { Email, Email$Outbound } from "./email.js";
import { PassThroughBody, PassThroughBody$Outbound } from "./passthroughbody.js";
import { PhoneNumber, PhoneNumber$Outbound } from "./phonenumber.js";
export type User = {
/**
* The unique identifier for the user
*/
id?: string | undefined;
/**
* The parent user id
*/
parentId?: string | null | undefined;
/**
* The username of the user
*/
username?: string | null | undefined;
/**
* The first name of the person.
*/
firstName?: string | null | undefined;
/**
* The last name of the person.
*/
lastName?: string | null | undefined;
/**
* The job title of the person.
*/
title?: string | null | undefined;
/**
* The division the person is currently in. Usually a collection of departments or teams or regions.
*/
division?: string | null | undefined;
/**
* The department the person is currently in. [Deprecated](https://developers.apideck.com/changelog) in favor of the dedicated department_id and department_name field.
*
* @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
*/
department?: string | null | undefined;
/**
* The name of the company.
*/
companyName?: string | null | undefined;
/**
* An Employee Number, Employee ID or Employee Code, is a unique number that has been assigned to each individual staff member within a company.
*/
employeeNumber?: string | null | undefined;
/**
* A description of the object.
*/
description?: string | null | undefined;
/**
* The URL of the user's avatar
*/
image?: string | null | undefined;
/**
* language code according to ISO 639-1. For the United States - EN
*/
language?: string | null | undefined;
/**
* The status of the user
*/
status?: string | null | undefined;
addresses?: Array
| undefined;
phoneNumbers?: Array | undefined;
emails: Array;
/**
* When custom mappings are configured on the resource, the result is included here.
*/
customMappings?: CustomMappings | null | undefined;
/**
* The date and time when the user was last updated.
*/
updatedAt?: string | null | undefined;
/**
* The date and time when the user was created.
*/
createdAt?: string | null | undefined;
/**
* The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
*/
passThrough?: Array | undefined;
};
/** @internal */
export declare const User$inboundSchema: z.ZodType;
/** @internal */
export type User$Outbound = {
id?: string | undefined;
parent_id?: string | null | undefined;
username?: string | null | undefined;
first_name?: string | null | undefined;
last_name?: string | null | undefined;
title?: string | null | undefined;
division?: string | null | undefined;
department?: string | null | undefined;
company_name?: string | null | undefined;
employee_number?: string | null | undefined;
description?: string | null | undefined;
image?: string | null | undefined;
language?: string | null | undefined;
status?: string | null | undefined;
addresses?: Array | undefined;
phone_numbers?: Array | undefined;
emails: Array;
custom_mappings?: CustomMappings$Outbound | null | undefined;
updated_at?: string | null | undefined;
created_at?: string | null | undefined;
pass_through?: Array | undefined;
};
/** @internal */
export declare const User$outboundSchema: z.ZodType;
/**
* @internal
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
*/
export declare namespace User$ {
/** @deprecated use `User$inboundSchema` instead. */
const inboundSchema: z.ZodType;
/** @deprecated use `User$outboundSchema` instead. */
const outboundSchema: z.ZodType;
/** @deprecated use `User$Outbound` instead. */
type Outbound = User$Outbound;
}
export declare function userToJSON(user: User): string;
export declare function userFromJSON(jsonString: string): SafeParseResult;
//# sourceMappingURL=user.d.ts.map