import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type RetrieveIdentityRequest = {
    /**
     * Unique identity id or external id
     */
    id: string;
    /**
     * Include usage metrics of the last 30 days for the identity.
     */
    includeMetrics?: boolean | null | undefined;
};
export type Metrics = {
    /**
     * Total cost in dollars of the last 30 days
     */
    totalCost: number;
    /**
     * Total tokens of the last 30 days
     */
    totalTokens: number;
    /**
     * Total requests of the last 30 days
     */
    totalRequests: number;
    /**
     * Error rate of the last 30 days as a ratio (0–1)
     */
    errorRate: number;
};
/**
 * Identity details
 */
export type RetrieveIdentityResponseBody = {
    /**
     * 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;
    metrics?: Metrics | null | undefined;
};
/** @internal */
export type RetrieveIdentityRequest$Outbound = {
    id: string;
    include_metrics: boolean | null;
};
/** @internal */
export declare const RetrieveIdentityRequest$outboundSchema: z.ZodType<RetrieveIdentityRequest$Outbound, z.ZodTypeDef, RetrieveIdentityRequest>;
export declare function retrieveIdentityRequestToJSON(retrieveIdentityRequest: RetrieveIdentityRequest): string;
/** @internal */
export declare const Metrics$inboundSchema: z.ZodType<Metrics, z.ZodTypeDef, unknown>;
export declare function metricsFromJSON(jsonString: string): SafeParseResult<Metrics, SDKValidationError>;
/** @internal */
export declare const RetrieveIdentityResponseBody$inboundSchema: z.ZodType<RetrieveIdentityResponseBody, z.ZodTypeDef, unknown>;
export declare function retrieveIdentityResponseBodyFromJSON(jsonString: string): SafeParseResult<RetrieveIdentityResponseBody, SDKValidationError>;
//# sourceMappingURL=retrieveidentity.d.ts.map