import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare enum TicketingUser2 {
    True = "true",
    False = "false"
}
/**
 * If the user is active
 */
export type TicketingUserActive = boolean | TicketingUser2;
export type TicketingUser4 = {};
/**
 * The source value of the user type.
 */
export type TicketingUserSourceValue = string | number | boolean | TicketingUser4 | Array<any>;
/**
 * The type of the user.
 */
export declare enum TicketingUserValue {
    Agent = "agent",
    Contact = "contact",
    Bot = "bot",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the user.
 */
export type TicketingUserValueOpen = OpenEnum<typeof TicketingUserValue>;
export type TicketingUserType = {
    /**
     * The source value of the user type.
     */
    sourceValue?: string | number | boolean | TicketingUser4 | Array<any> | null | undefined;
    /**
     * The type of the user.
     */
    value?: TicketingUserValueOpen | null | undefined;
};
export type TicketingUser = {
    /**
     * If the user is active
     */
    active?: boolean | TicketingUser2 | null | undefined;
    /**
     * The timestamp when the record was created
     */
    createdAt?: Date | null | undefined;
    /**
     * The unique account reference assigned as an external user (e.g. the customer account identifier registered on the customer-facing site or portal)
     */
    customerAccountReference?: string | null | undefined;
    /**
     * The first name of the user
     */
    firstName?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The last name of the user
     */
    lastName?: string | null | undefined;
    /**
     * John Doe
     */
    name?: string | null | undefined;
    /**
     * The user's primary email address
     */
    primaryEmail?: string | null | undefined;
    /**
     * The user's primary phone number
     */
    primaryPhone?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    type?: TicketingUserType | null | undefined;
    /**
     * The timestamp when the record was last updated
     */
    updatedAt?: Date | null | undefined;
    /**
     * The username of the user in the provider system
     */
    username?: string | null | undefined;
};
/** @internal */
export declare const TicketingUser2$inboundSchema: z.ZodNativeEnum<typeof TicketingUser2>;
/** @internal */
export declare const TicketingUserActive$inboundSchema: z.ZodType<TicketingUserActive, z.ZodTypeDef, unknown>;
export declare function ticketingUserActiveFromJSON(jsonString: string): SafeParseResult<TicketingUserActive, SDKValidationError>;
/** @internal */
export declare const TicketingUser4$inboundSchema: z.ZodType<TicketingUser4, z.ZodTypeDef, unknown>;
export declare function ticketingUser4FromJSON(jsonString: string): SafeParseResult<TicketingUser4, SDKValidationError>;
/** @internal */
export declare const TicketingUserSourceValue$inboundSchema: z.ZodType<TicketingUserSourceValue, z.ZodTypeDef, unknown>;
export declare function ticketingUserSourceValueFromJSON(jsonString: string): SafeParseResult<TicketingUserSourceValue, SDKValidationError>;
/** @internal */
export declare const TicketingUserValue$inboundSchema: z.ZodType<TicketingUserValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TicketingUserType$inboundSchema: z.ZodType<TicketingUserType, z.ZodTypeDef, unknown>;
export declare function ticketingUserTypeFromJSON(jsonString: string): SafeParseResult<TicketingUserType, SDKValidationError>;
/** @internal */
export declare const TicketingUser$inboundSchema: z.ZodType<TicketingUser, z.ZodTypeDef, unknown>;
export declare function ticketingUserFromJSON(jsonString: string): SafeParseResult<TicketingUser, SDKValidationError>;
//# sourceMappingURL=ticketinguser.d.ts.map