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 SelectSearchEventId = 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 SelectSearchEventUserId = 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 SelectSearchEventUserProperties = {
    /**
     * 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 SelectSearchEvent = {
    id: string;
    type: string;
    searchQuery: 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?: SelectSearchEventUserProperties | null | undefined;
    entityType: "search";
};
/** @internal */
export declare const SelectSearchEventId$inboundSchema: z.ZodType<SelectSearchEventId, z.ZodTypeDef, unknown>;
/** @internal */
export type SelectSearchEventId$Outbound = string | number;
/** @internal */
export declare const SelectSearchEventId$outboundSchema: z.ZodType<SelectSearchEventId$Outbound, z.ZodTypeDef, SelectSearchEventId>;
export declare function selectSearchEventIdToJSON(selectSearchEventId: SelectSearchEventId): string;
export declare function selectSearchEventIdFromJSON(jsonString: string): SafeParseResult<SelectSearchEventId, SDKValidationError>;
/** @internal */
export declare const SelectSearchEventUserId$inboundSchema: z.ZodType<SelectSearchEventUserId, z.ZodTypeDef, unknown>;
/** @internal */
export type SelectSearchEventUserId$Outbound = string | number;
/** @internal */
export declare const SelectSearchEventUserId$outboundSchema: z.ZodType<SelectSearchEventUserId$Outbound, z.ZodTypeDef, SelectSearchEventUserId>;
export declare function selectSearchEventUserIdToJSON(selectSearchEventUserId: SelectSearchEventUserId): string;
export declare function selectSearchEventUserIdFromJSON(jsonString: string): SafeParseResult<SelectSearchEventUserId, SDKValidationError>;
/** @internal */
export declare const SelectSearchEventUserProperties$inboundSchema: z.ZodType<SelectSearchEventUserProperties, z.ZodTypeDef, unknown>;
/** @internal */
export type SelectSearchEventUserProperties$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 SelectSearchEventUserProperties$outboundSchema: z.ZodType<SelectSearchEventUserProperties$Outbound, z.ZodTypeDef, SelectSearchEventUserProperties>;
export declare function selectSearchEventUserPropertiesToJSON(selectSearchEventUserProperties: SelectSearchEventUserProperties): string;
export declare function selectSearchEventUserPropertiesFromJSON(jsonString: string): SafeParseResult<SelectSearchEventUserProperties, SDKValidationError>;
/** @internal */
export declare const SelectSearchEvent$inboundSchema: z.ZodType<SelectSearchEvent, z.ZodTypeDef, unknown>;
/** @internal */
export type SelectSearchEvent$Outbound = {
    id: string;
    type: string;
    searchQuery: string;
    createdAt: string;
    projectId: string | null;
    integrationId: string | null;
    properties?: {
        [k: string]: any;
    } | null | undefined;
    userProperties?: SelectSearchEventUserProperties$Outbound | null | undefined;
    entityType: "search";
};
/** @internal */
export declare const SelectSearchEvent$outboundSchema: z.ZodType<SelectSearchEvent$Outbound, z.ZodTypeDef, SelectSearchEvent>;
export declare function selectSearchEventToJSON(selectSearchEvent: SelectSearchEvent): string;
export declare function selectSearchEventFromJSON(jsonString: string): SafeParseResult<SelectSearchEvent, SDKValidationError>;
//# sourceMappingURL=selectsearchevent.d.ts.map