import * as z from "zod";
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;
    additionalProperties?: {
        [k: string]: any;
    };
};
/**
 * Feedback retrieved successfully
 */
export type GetFeedbackByIdResponseBody = {
    id: string;
    type: GetFeedbackByIdType;
    messageId: string;
    createdAt: string;
    reasons?: Array<GetFeedbackByIdReasons> | 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;
    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>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetFeedbackByIdRequest$ {
    /** @deprecated use `GetFeedbackByIdRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetFeedbackByIdRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetFeedbackByIdRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetFeedbackByIdRequest$Outbound, z.ZodTypeDef, GetFeedbackByIdRequest>;
    /** @deprecated use `GetFeedbackByIdRequest$Outbound` instead. */
    type Outbound = GetFeedbackByIdRequest$Outbound;
}
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
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetFeedbackByIdType$ {
    /** @deprecated use `GetFeedbackByIdType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Positive: "positive";
        readonly Negative: "negative";
    }>;
    /** @deprecated use `GetFeedbackByIdType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Positive: "positive";
        readonly Negative: "negative";
    }>;
}
/** @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>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetFeedbackByIdReasons$ {
    /** @deprecated use `GetFeedbackByIdReasons$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetFeedbackByIdReasons, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetFeedbackByIdReasons$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetFeedbackByIdReasons$Outbound, z.ZodTypeDef, GetFeedbackByIdReasons>;
    /** @deprecated use `GetFeedbackByIdReasons$Outbound` instead. */
    type Outbound = GetFeedbackByIdReasons$Outbound;
}
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>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetFeedbackByIdId$ {
    /** @deprecated use `GetFeedbackByIdId$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetFeedbackByIdId, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetFeedbackByIdId$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetFeedbackByIdId$Outbound, z.ZodTypeDef, GetFeedbackByIdId>;
    /** @deprecated use `GetFeedbackByIdId$Outbound` instead. */
    type Outbound = GetFeedbackByIdId$Outbound;
}
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>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetFeedbackByIdUserId$ {
    /** @deprecated use `GetFeedbackByIdUserId$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetFeedbackByIdUserId, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetFeedbackByIdUserId$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetFeedbackByIdUserId$Outbound, z.ZodTypeDef, GetFeedbackByIdUserId>;
    /** @deprecated use `GetFeedbackByIdUserId$Outbound` instead. */
    type Outbound = GetFeedbackByIdUserId$Outbound;
}
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;
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const GetFeedbackByIdUserProperties$outboundSchema: z.ZodType<GetFeedbackByIdUserProperties$Outbound, z.ZodTypeDef, GetFeedbackByIdUserProperties>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetFeedbackByIdUserProperties$ {
    /** @deprecated use `GetFeedbackByIdUserProperties$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetFeedbackByIdUserProperties, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetFeedbackByIdUserProperties$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetFeedbackByIdUserProperties$Outbound, z.ZodTypeDef, GetFeedbackByIdUserProperties>;
    /** @deprecated use `GetFeedbackByIdUserProperties$Outbound` instead. */
    type Outbound = GetFeedbackByIdUserProperties$Outbound;
}
export declare function getFeedbackByIdUserPropertiesToJSON(getFeedbackByIdUserProperties: GetFeedbackByIdUserProperties): string;
export declare function getFeedbackByIdUserPropertiesFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdUserProperties, 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;
    reasons?: Array<GetFeedbackByIdReasons$Outbound> | null | undefined;
    properties?: {
        [k: string]: any;
    } | null | undefined;
    userProperties?: GetFeedbackByIdUserProperties$Outbound | null | undefined;
    conversation: components.Conversation$Outbound;
    message: components.Message$Outbound;
};
/** @internal */
export declare const GetFeedbackByIdResponseBody$outboundSchema: z.ZodType<GetFeedbackByIdResponseBody$Outbound, z.ZodTypeDef, GetFeedbackByIdResponseBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetFeedbackByIdResponseBody$ {
    /** @deprecated use `GetFeedbackByIdResponseBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetFeedbackByIdResponseBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetFeedbackByIdResponseBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetFeedbackByIdResponseBody$Outbound, z.ZodTypeDef, GetFeedbackByIdResponseBody>;
    /** @deprecated use `GetFeedbackByIdResponseBody$Outbound` instead. */
    type Outbound = GetFeedbackByIdResponseBody$Outbound;
}
export declare function getFeedbackByIdResponseBodyToJSON(getFeedbackByIdResponseBody: GetFeedbackByIdResponseBody): string;
export declare function getFeedbackByIdResponseBodyFromJSON(jsonString: string): SafeParseResult<GetFeedbackByIdResponseBody, SDKValidationError>;
//# sourceMappingURL=getfeedbackbyid.d.ts.map