import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * The unique identifier for the user. This value is sent by the inkeep widget.
 */
export type SelectConversationEventId = string | number;
/**
 * The unique identifier for the user. This value is sent by the Inkeep Support Agent Copilot. This value is used to create the graphs on the Inkeep Portal.
 */
export type SelectConversationEventUserId = string | number;
/**
 * A customizable collection of custom properties or attributes. Some properties have first class support for the Inkeep Portal or Widget and are noted in the description.
 */
export type SelectConversationEventUserProperties = {
    /**
     * The unique identifier for the user. This value is sent by the inkeep widget.
     */
    id?: string | number | null | undefined;
    /**
     * The type of identification for the user. This value is sent by the inkeep widget.
     */
    identificationType?: string | null | undefined;
    /**
     * The unique identifier for the user. This value is sent by the Inkeep Support Agent Copilot. This value is used to create the graphs on the Inkeep Portal.
     */
    userId?: string | number | null | undefined;
    /**
     * The name of the support agent assigned to the user. This value is sent by the Inkeep Support Agent Copilot. This value is used to create the graphs on the Inkeep Portal.
     */
    supportAgentName?: string | null | undefined;
    /**
     * The type of user. This value is sent by the Inkeep Support Agent Copilot. This value is used to create the graphs on the Inkeep Portal.
     */
    userType?: string | null | undefined;
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
export type SelectConversationEvent = {
    id: string;
    type: string;
    conversationId: string;
    createdAt: string;
    projectId: string | null;
    integrationId: string | null;
    /**
     * A customizable collection of custom properties or attributes.
     */
    properties?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * A customizable collection of custom properties or attributes. Some properties have first class support for the Inkeep Portal or Widget and are noted in the description.
     */
    userProperties?: SelectConversationEventUserProperties | null | undefined;
    entityType: "conversation";
};
/** @internal */
export declare const SelectConversationEventId$inboundSchema: z.ZodType<SelectConversationEventId, z.ZodTypeDef, unknown>;
/** @internal */
export type SelectConversationEventId$Outbound = string | number;
/** @internal */
export declare const SelectConversationEventId$outboundSchema: z.ZodType<SelectConversationEventId$Outbound, z.ZodTypeDef, SelectConversationEventId>;
export declare function selectConversationEventIdToJSON(selectConversationEventId: SelectConversationEventId): string;
export declare function selectConversationEventIdFromJSON(jsonString: string): SafeParseResult<SelectConversationEventId, SDKValidationError>;
/** @internal */
export declare const SelectConversationEventUserId$inboundSchema: z.ZodType<SelectConversationEventUserId, z.ZodTypeDef, unknown>;
/** @internal */
export type SelectConversationEventUserId$Outbound = string | number;
/** @internal */
export declare const SelectConversationEventUserId$outboundSchema: z.ZodType<SelectConversationEventUserId$Outbound, z.ZodTypeDef, SelectConversationEventUserId>;
export declare function selectConversationEventUserIdToJSON(selectConversationEventUserId: SelectConversationEventUserId): string;
export declare function selectConversationEventUserIdFromJSON(jsonString: string): SafeParseResult<SelectConversationEventUserId, SDKValidationError>;
/** @internal */
export declare const SelectConversationEventUserProperties$inboundSchema: z.ZodType<SelectConversationEventUserProperties, z.ZodTypeDef, unknown>;
/** @internal */
export type SelectConversationEventUserProperties$Outbound = {
    id?: string | number | null | undefined;
    identificationType?: string | null | undefined;
    userId?: string | number | null | undefined;
    supportAgentName?: string | null | undefined;
    userType?: string | null | undefined;
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const SelectConversationEventUserProperties$outboundSchema: z.ZodType<SelectConversationEventUserProperties$Outbound, z.ZodTypeDef, SelectConversationEventUserProperties>;
export declare function selectConversationEventUserPropertiesToJSON(selectConversationEventUserProperties: SelectConversationEventUserProperties): string;
export declare function selectConversationEventUserPropertiesFromJSON(jsonString: string): SafeParseResult<SelectConversationEventUserProperties, SDKValidationError>;
/** @internal */
export declare const SelectConversationEvent$inboundSchema: z.ZodType<SelectConversationEvent, z.ZodTypeDef, unknown>;
/** @internal */
export type SelectConversationEvent$Outbound = {
    id: string;
    type: string;
    conversationId: string;
    createdAt: string;
    projectId: string | null;
    integrationId: string | null;
    properties?: {
        [k: string]: any;
    } | null | undefined;
    userProperties?: SelectConversationEventUserProperties$Outbound | null | undefined;
    entityType: "conversation";
};
/** @internal */
export declare const SelectConversationEvent$outboundSchema: z.ZodType<SelectConversationEvent$Outbound, z.ZodTypeDef, SelectConversationEvent>;
export declare function selectConversationEventToJSON(selectConversationEvent: SelectConversationEvent): string;
export declare function selectConversationEventFromJSON(jsonString: string): SafeParseResult<SelectConversationEvent, SDKValidationError>;
//# sourceMappingURL=selectconversationevent.d.ts.map