import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Address } from "./address.js";
import { Email } from "./email.js";
import { PassThroughBody } from "./passthroughbody.js";
import { PhoneNumber } 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: Deprecated. Use department_id instead..
     */
    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<Address> | undefined;
    phoneNumbers?: Array<PhoneNumber> | undefined;
    emails: Array<Email>;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     */
    customMappings?: {
        [k: string]: any;
    } | 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<PassThroughBody> | undefined;
};
/** @internal */
export declare const User$inboundSchema: z.ZodType<User, z.ZodTypeDef, unknown>;
export declare function userFromJSON(jsonString: string): SafeParseResult<User, SDKValidationError>;
//# sourceMappingURL=user.d.ts.map