import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Contact profile information
 */
export type CreateContactRequestBody = {
    /**
     * Unique string value to identify the contact user in the customer's system. This should be the same ID you use in your system to reference this user.
     */
    externalId: string;
    /**
     * Display name or nickname of the contact user. This is typically shown in user interfaces.
     */
    displayName?: string | null | undefined;
    /**
     * Email address of the contact user
     */
    email?: string | null | undefined;
    /**
     * URL linking to the contact user's avatar image
     */
    avatarUrl?: string | null | undefined;
    /**
     * Array of tags associated with the contact. Useful for organizing and filtering contacts by categories, departments, or custom classifications.
     */
    tags?: Array<string> | undefined;
    /**
     * Additional custom metadata associated with the contact as key-value pairs. Use this to store any extra information specific to your application.
     */
    metadata?: {
        [k: string]: any;
    } | undefined;
};
/**
 * Created Contact
 */
export type CreateContactResponseBody = {
    /**
     * Unique ULID (Universally Unique Lexicographically Sortable Identifier) for the contact
     */
    id: string;
    /**
     * Unique string value to identify the contact user in the customer's system. This should be the same ID you use in your system to reference this user.
     */
    externalId: string;
    /**
     * Unique identifier for the workspace to which the contact belongs
     */
    workspaceId: string;
    /**
     * Display name or nickname of the contact user. This is typically shown in user interfaces.
     */
    displayName?: string | null | undefined;
    /**
     * Email address of the contact user
     */
    email?: string | null | undefined;
    /**
     * URL linking to the contact user's avatar image
     */
    avatarUrl?: string | null | undefined;
    /**
     * Array of tags associated with the contact. Useful for organizing and filtering contacts by categories, departments, or custom classifications.
     */
    tags?: Array<string> | undefined;
    /**
     * Additional custom metadata associated with the contact as key-value pairs. Use this to store any extra information specific to your application.
     */
    metadata?: {
        [k: string]: any;
    } | undefined;
    /**
     * The date and time the resource was created
     */
    created?: Date | undefined;
    /**
     * The date and time the resource was last updated
     */
    updated?: Date | undefined;
};
/** @internal */
export declare const CreateContactRequestBody$inboundSchema: z.ZodType<CreateContactRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateContactRequestBody$Outbound = {
    external_id: string;
    display_name?: string | null | undefined;
    email?: string | null | undefined;
    avatar_url?: string | null | undefined;
    tags?: Array<string> | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export declare const CreateContactRequestBody$outboundSchema: z.ZodType<CreateContactRequestBody$Outbound, z.ZodTypeDef, CreateContactRequestBody>;
export declare function createContactRequestBodyToJSON(createContactRequestBody: CreateContactRequestBody): string;
export declare function createContactRequestBodyFromJSON(jsonString: string): SafeParseResult<CreateContactRequestBody, SDKValidationError>;
/** @internal */
export declare const CreateContactResponseBody$inboundSchema: z.ZodType<CreateContactResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateContactResponseBody$Outbound = {
    _id: string;
    external_id: string;
    workspace_id: string;
    display_name?: string | null | undefined;
    email?: string | null | undefined;
    avatar_url?: string | null | undefined;
    tags?: Array<string> | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    created?: string | undefined;
    updated: string;
};
/** @internal */
export declare const CreateContactResponseBody$outboundSchema: z.ZodType<CreateContactResponseBody$Outbound, z.ZodTypeDef, CreateContactResponseBody>;
export declare function createContactResponseBodyToJSON(createContactResponseBody: CreateContactResponseBody): string;
export declare function createContactResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateContactResponseBody, SDKValidationError>;
//# sourceMappingURL=createcontact.d.ts.map