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";
import { RawResponse } from "./rawresponse.js";
export declare enum TicketingUserResult2 {
    True = "true",
    False = "false"
}
/**
 * If the user is active
 */
export type TicketingUserResultActive = boolean | TicketingUserResult2;
export type TicketingUserResult4 = {};
/**
 * The source value of the user type.
 */
export type TicketingUserResultSourceValue = string | number | boolean | TicketingUserResult4 | Array<any>;
/**
 * The type of the user.
 */
export declare enum TicketingUserResultValue {
    Agent = "agent",
    Contact = "contact",
    Bot = "bot",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of the user.
 */
export type TicketingUserResultValueOpen = OpenEnum<typeof TicketingUserResultValue>;
export type TicketingUserResultType = {
    /**
     * The source value of the user type.
     */
    sourceValue?: string | number | boolean | TicketingUserResult4 | Array<any> | null | undefined;
    /**
     * The type of the user.
     */
    value?: TicketingUserResultValueOpen | null | undefined;
};
export type TicketingUserResultData = {
    /**
     * If the user is active
     */
    active?: boolean | TicketingUserResult2 | 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?: TicketingUserResultType | 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;
};
export type TicketingUserResult = {
    data?: TicketingUserResultData | null | undefined;
    raw?: Array<RawResponse> | null | undefined;
};
/** @internal */
export declare const TicketingUserResult2$inboundSchema: z.ZodNativeEnum<typeof TicketingUserResult2>;
/** @internal */
export declare const TicketingUserResultActive$inboundSchema: z.ZodType<TicketingUserResultActive, z.ZodTypeDef, unknown>;
export declare function ticketingUserResultActiveFromJSON(jsonString: string): SafeParseResult<TicketingUserResultActive, SDKValidationError>;
/** @internal */
export declare const TicketingUserResult4$inboundSchema: z.ZodType<TicketingUserResult4, z.ZodTypeDef, unknown>;
export declare function ticketingUserResult4FromJSON(jsonString: string): SafeParseResult<TicketingUserResult4, SDKValidationError>;
/** @internal */
export declare const TicketingUserResultSourceValue$inboundSchema: z.ZodType<TicketingUserResultSourceValue, z.ZodTypeDef, unknown>;
export declare function ticketingUserResultSourceValueFromJSON(jsonString: string): SafeParseResult<TicketingUserResultSourceValue, SDKValidationError>;
/** @internal */
export declare const TicketingUserResultValue$inboundSchema: z.ZodType<TicketingUserResultValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TicketingUserResultType$inboundSchema: z.ZodType<TicketingUserResultType, z.ZodTypeDef, unknown>;
export declare function ticketingUserResultTypeFromJSON(jsonString: string): SafeParseResult<TicketingUserResultType, SDKValidationError>;
/** @internal */
export declare const TicketingUserResultData$inboundSchema: z.ZodType<TicketingUserResultData, z.ZodTypeDef, unknown>;
export declare function ticketingUserResultDataFromJSON(jsonString: string): SafeParseResult<TicketingUserResultData, SDKValidationError>;
/** @internal */
export declare const TicketingUserResult$inboundSchema: z.ZodType<TicketingUserResult, z.ZodTypeDef, unknown>;
export declare function ticketingUserResultFromJSON(jsonString: string): SafeParseResult<TicketingUserResult, SDKValidationError>;
//# sourceMappingURL=ticketinguserresult.d.ts.map