import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type RetrieveContactRequest = {
    /**
     * Unique contact id or external id
     */
    id: string;
};
/**
 * Contact details
 */
export type RetrieveContactResponseBody = {
    /**
     * 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;
    /**
     * 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 RetrieveContactRequest$inboundSchema: z.ZodType<RetrieveContactRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type RetrieveContactRequest$Outbound = {
    id: string;
};
/** @internal */
export declare const RetrieveContactRequest$outboundSchema: z.ZodType<RetrieveContactRequest$Outbound, z.ZodTypeDef, RetrieveContactRequest>;
export declare function retrieveContactRequestToJSON(retrieveContactRequest: RetrieveContactRequest): string;
export declare function retrieveContactRequestFromJSON(jsonString: string): SafeParseResult<RetrieveContactRequest, SDKValidationError>;
/** @internal */
export declare const RetrieveContactResponseBody$inboundSchema: z.ZodType<RetrieveContactResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type RetrieveContactResponseBody$Outbound = {
    _id: string;
    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;
    created?: string | undefined;
    updated: string;
};
/** @internal */
export declare const RetrieveContactResponseBody$outboundSchema: z.ZodType<RetrieveContactResponseBody$Outbound, z.ZodTypeDef, RetrieveContactResponseBody>;
export declare function retrieveContactResponseBodyToJSON(retrieveContactResponseBody: RetrieveContactResponseBody): string;
export declare function retrieveContactResponseBodyFromJSON(jsonString: string): SafeParseResult<RetrieveContactResponseBody, SDKValidationError>;
//# sourceMappingURL=retrievecontact.d.ts.map