import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type GetFeedbackByIdRequest = {
    id: string;
};
export declare const GetFeedbackByIdType: {
    readonly Positive: "positive";
    readonly Negative: "negative";
};
export type GetFeedbackByIdType = ClosedEnum<typeof GetFeedbackByIdType>;
export type GetFeedbackByIdReasons = {
    label: string;
    details: string;
};
/**
 * The unique identifier for the user. This value is sent by the inkeep widget.
 */
export type GetFeedbackByIdId = 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 GetFeedbackByIdUserId = 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 GetFeedbackByIdUserProperties = {
    /**
     * 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 declare const GetFeedbackByIdFeedbackType: {
    readonly Positive: "positive";
    readonly Negative: "negative";
    readonly New: "new";
};
export type GetFeedbackByIdFeedbackType = ClosedEnum<typeof GetFeedbackByIdFeedbackType>;
export type GetFeedbackByIdSources = {
    type: GetFeedbackByIdFeedbackType | null;
    title?: string | null | undefined;
    url?: string | null | undefined;
};
/**
 * Feedback retrieved successfully
 */
export type GetFeedbackByIdResponseBody = {
    id: string;
    type: GetFeedbackByIdType;
    messageId: string;
    createdAt: string;
    updatedAt: string;
    reasons?: Array<GetFeedbackByIdReasons> | null | undefined;
    details?: string | null | undefined;
    /**
     * 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?: GetFeedbackByIdUserProperties | null | undefined;
    sources?: Array<GetFeedbackByIdSources> | null | undefined;
    conversation: components.Conversation;
    message: components.Message;
};
/** @internal */
export declare const GetFeedbackByIdRequest$inboundSchema: z.ZodType<GetFeedbackByIdRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type GetFeedbackByIdRequest$Outbound = {
    id: string;
};
/** @internal */
export declare const GetFeedbackByIdRequest$outboundSchema: z.ZodType<GetFeedbackByIdRequest$Outbound, z.ZodTypeDef, GetFeedbackByIdRequest>;
export declare function getFeedbackByIdRequestToJSON(getFeedbackByIdRequest: GetFeedbackByIdRequest): string;
export declare function getFeedbackByIdRequestFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdRequest, SDKValidationError>;
/** @internal */
export declare const GetFeedbackByIdType$inboundSchema: z.ZodNativeEnum<typeof GetFeedbackByIdType>;
/** @internal */
export declare const GetFeedbackByIdType$outboundSchema: z.ZodNativeEnum<typeof GetFeedbackByIdType>;
/** @internal */
export declare const GetFeedbackByIdReasons$inboundSchema: z.ZodType<GetFeedbackByIdReasons, z.ZodTypeDef, unknown>;
/** @internal */
export type GetFeedbackByIdReasons$Outbound = {
    label: string;
    details: string;
};
/** @internal */
export declare const GetFeedbackByIdReasons$outboundSchema: z.ZodType<GetFeedbackByIdReasons$Outbound, z.ZodTypeDef, GetFeedbackByIdReasons>;
export declare function getFeedbackByIdReasonsToJSON(getFeedbackByIdReasons: GetFeedbackByIdReasons): string;
export declare function getFeedbackByIdReasonsFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdReasons, SDKValidationError>;
/** @internal */
export declare const GetFeedbackByIdId$inboundSchema: z.ZodType<GetFeedbackByIdId, z.ZodTypeDef, unknown>;
/** @internal */
export type GetFeedbackByIdId$Outbound = string | number;
/** @internal */
export declare const GetFeedbackByIdId$outboundSchema: z.ZodType<GetFeedbackByIdId$Outbound, z.ZodTypeDef, GetFeedbackByIdId>;
export declare function getFeedbackByIdIdToJSON(getFeedbackByIdId: GetFeedbackByIdId): string;
export declare function getFeedbackByIdIdFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdId, SDKValidationError>;
/** @internal */
export declare const GetFeedbackByIdUserId$inboundSchema: z.ZodType<GetFeedbackByIdUserId, z.ZodTypeDef, unknown>;
/** @internal */
export type GetFeedbackByIdUserId$Outbound = string | number;
/** @internal */
export declare const GetFeedbackByIdUserId$outboundSchema: z.ZodType<GetFeedbackByIdUserId$Outbound, z.ZodTypeDef, GetFeedbackByIdUserId>;
export declare function getFeedbackByIdUserIdToJSON(getFeedbackByIdUserId: GetFeedbackByIdUserId): string;
export declare function getFeedbackByIdUserIdFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdUserId, SDKValidationError>;
/** @internal */
export declare const GetFeedbackByIdUserProperties$inboundSchema: z.ZodType<GetFeedbackByIdUserProperties, z.ZodTypeDef, unknown>;
/** @internal */
export type GetFeedbackByIdUserProperties$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 GetFeedbackByIdUserProperties$outboundSchema: z.ZodType<GetFeedbackByIdUserProperties$Outbound, z.ZodTypeDef, GetFeedbackByIdUserProperties>;
export declare function getFeedbackByIdUserPropertiesToJSON(getFeedbackByIdUserProperties: GetFeedbackByIdUserProperties): string;
export declare function getFeedbackByIdUserPropertiesFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdUserProperties, SDKValidationError>;
/** @internal */
export declare const GetFeedbackByIdFeedbackType$inboundSchema: z.ZodNativeEnum<typeof GetFeedbackByIdFeedbackType>;
/** @internal */
export declare const GetFeedbackByIdFeedbackType$outboundSchema: z.ZodNativeEnum<typeof GetFeedbackByIdFeedbackType>;
/** @internal */
export declare const GetFeedbackByIdSources$inboundSchema: z.ZodType<GetFeedbackByIdSources, z.ZodTypeDef, unknown>;
/** @internal */
export type GetFeedbackByIdSources$Outbound = {
    type: string | null;
    title?: string | null | undefined;
    url?: string | null | undefined;
};
/** @internal */
export declare const GetFeedbackByIdSources$outboundSchema: z.ZodType<GetFeedbackByIdSources$Outbound, z.ZodTypeDef, GetFeedbackByIdSources>;
export declare function getFeedbackByIdSourcesToJSON(getFeedbackByIdSources: GetFeedbackByIdSources): string;
export declare function getFeedbackByIdSourcesFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdSources, SDKValidationError>;
/** @internal */
export declare const GetFeedbackByIdResponseBody$inboundSchema: z.ZodType<GetFeedbackByIdResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type GetFeedbackByIdResponseBody$Outbound = {
    id: string;
    type: string;
    messageId: string;
    createdAt: string;
    updatedAt: string;
    reasons?: Array<GetFeedbackByIdReasons$Outbound> | null | undefined;
    details?: string | null | undefined;
    properties?: {
        [k: string]: any;
    } | null | undefined;
    userProperties?: GetFeedbackByIdUserProperties$Outbound | null | undefined;
    sources?: Array<GetFeedbackByIdSources$Outbound> | null | undefined;
    conversation: components.Conversation$Outbound;
    message: components.Message$Outbound;
};
/** @internal */
export declare const GetFeedbackByIdResponseBody$outboundSchema: z.ZodType<GetFeedbackByIdResponseBody$Outbound, z.ZodTypeDef, GetFeedbackByIdResponseBody>;
export declare function getFeedbackByIdResponseBodyToJSON(getFeedbackByIdResponseBody: GetFeedbackByIdResponseBody): string;
export declare function getFeedbackByIdResponseBodyFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdResponseBody, SDKValidationError>;
//# sourceMappingURL=getfeedbackbyid.d.ts.map