"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetAllFeedbackResponse$ = exports.GetAllFeedbackResponse$outboundSchema = exports.GetAllFeedbackResponse$inboundSchema = exports.NegativeFeedback$ = exports.NegativeFeedback$outboundSchema = exports.NegativeFeedback$inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$ = exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackUserId$ = exports.GetAllFeedbackResponseNegativeFeedbackUserId$outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackUserId$inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackId$ = exports.GetAllFeedbackResponseNegativeFeedbackId$outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackId$inboundSchema = exports.GetAllFeedbackResponseReasons$ = exports.GetAllFeedbackResponseReasons$outboundSchema = exports.GetAllFeedbackResponseReasons$inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackType$ = exports.GetAllFeedbackResponseNegativeFeedbackType$outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackType$inboundSchema = exports.PositiveFeedback$ = exports.PositiveFeedback$outboundSchema = exports.PositiveFeedback$inboundSchema = exports.GetAllFeedbackResponseUserProperties$ = exports.GetAllFeedbackResponseUserProperties$outboundSchema = exports.GetAllFeedbackResponseUserProperties$inboundSchema = exports.GetAllFeedbackResponseUserId$ = exports.GetAllFeedbackResponseUserId$outboundSchema = exports.GetAllFeedbackResponseUserId$inboundSchema = exports.GetAllFeedbackResponseId$ = exports.GetAllFeedbackResponseId$outboundSchema = exports.GetAllFeedbackResponseId$inboundSchema = exports.Reasons$ = exports.Reasons$outboundSchema = exports.Reasons$inboundSchema = exports.GetAllFeedbackResponseType$ = exports.GetAllFeedbackResponseType$outboundSchema = exports.GetAllFeedbackResponseType$inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackType = exports.GetAllFeedbackResponseType = void 0;
exports.reasonsToJSON = reasonsToJSON;
exports.reasonsFromJSON = reasonsFromJSON;
exports.getAllFeedbackResponseIdToJSON = getAllFeedbackResponseIdToJSON;
exports.getAllFeedbackResponseIdFromJSON = getAllFeedbackResponseIdFromJSON;
exports.getAllFeedbackResponseUserIdToJSON = getAllFeedbackResponseUserIdToJSON;
exports.getAllFeedbackResponseUserIdFromJSON = getAllFeedbackResponseUserIdFromJSON;
exports.getAllFeedbackResponseUserPropertiesToJSON = getAllFeedbackResponseUserPropertiesToJSON;
exports.getAllFeedbackResponseUserPropertiesFromJSON = getAllFeedbackResponseUserPropertiesFromJSON;
exports.positiveFeedbackToJSON = positiveFeedbackToJSON;
exports.positiveFeedbackFromJSON = positiveFeedbackFromJSON;
exports.getAllFeedbackResponseReasonsToJSON = getAllFeedbackResponseReasonsToJSON;
exports.getAllFeedbackResponseReasonsFromJSON = getAllFeedbackResponseReasonsFromJSON;
exports.getAllFeedbackResponseNegativeFeedbackIdToJSON = getAllFeedbackResponseNegativeFeedbackIdToJSON;
exports.getAllFeedbackResponseNegativeFeedbackIdFromJSON = getAllFeedbackResponseNegativeFeedbackIdFromJSON;
exports.getAllFeedbackResponseNegativeFeedbackUserIdToJSON = getAllFeedbackResponseNegativeFeedbackUserIdToJSON;
exports.getAllFeedbackResponseNegativeFeedbackUserIdFromJSON = getAllFeedbackResponseNegativeFeedbackUserIdFromJSON;
exports.getAllFeedbackResponseNegativeFeedbackUserPropertiesToJSON = getAllFeedbackResponseNegativeFeedbackUserPropertiesToJSON;
exports.getAllFeedbackResponseNegativeFeedbackUserPropertiesFromJSON = getAllFeedbackResponseNegativeFeedbackUserPropertiesFromJSON;
exports.negativeFeedbackToJSON = negativeFeedbackToJSON;
exports.negativeFeedbackFromJSON = negativeFeedbackFromJSON;
exports.getAllFeedbackResponseToJSON = getAllFeedbackResponseToJSON;
exports.getAllFeedbackResponseFromJSON = getAllFeedbackResponseFromJSON;
const z = __importStar(require("zod"));
const primitives_js_1 = require("../../lib/primitives.js");
const schemas_js_1 = require("../../lib/schemas.js");
const conversation_js_1 = require("./conversation.js");
const message_js_1 = require("./message.js");
exports.GetAllFeedbackResponseType = {
    Positive: "positive",
    Negative: "negative",
};
exports.GetAllFeedbackResponseNegativeFeedbackType = {
    Positive: "positive",
    Negative: "negative",
};
/** @internal */
exports.GetAllFeedbackResponseType$inboundSchema = z.nativeEnum(exports.GetAllFeedbackResponseType);
/** @internal */
exports.GetAllFeedbackResponseType$outboundSchema = exports.GetAllFeedbackResponseType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseType$;
(function (GetAllFeedbackResponseType$) {
    /** @deprecated use `GetAllFeedbackResponseType$inboundSchema` instead. */
    GetAllFeedbackResponseType$.inboundSchema = exports.GetAllFeedbackResponseType$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseType$outboundSchema` instead. */
    GetAllFeedbackResponseType$.outboundSchema = exports.GetAllFeedbackResponseType$outboundSchema;
})(GetAllFeedbackResponseType$ || (exports.GetAllFeedbackResponseType$ = GetAllFeedbackResponseType$ = {}));
/** @internal */
exports.Reasons$inboundSchema = z.object({
    label: z.string(),
    details: z.string(),
});
/** @internal */
exports.Reasons$outboundSchema = z.object({
    label: z.string(),
    details: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Reasons$;
(function (Reasons$) {
    /** @deprecated use `Reasons$inboundSchema` instead. */
    Reasons$.inboundSchema = exports.Reasons$inboundSchema;
    /** @deprecated use `Reasons$outboundSchema` instead. */
    Reasons$.outboundSchema = exports.Reasons$outboundSchema;
})(Reasons$ || (exports.Reasons$ = Reasons$ = {}));
function reasonsToJSON(reasons) {
    return JSON.stringify(exports.Reasons$outboundSchema.parse(reasons));
}
function reasonsFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Reasons$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Reasons' from JSON`);
}
/** @internal */
exports.GetAllFeedbackResponseId$inboundSchema = z.union([z.string(), z.number()]);
/** @internal */
exports.GetAllFeedbackResponseId$outboundSchema = z.union([z.string(), z.number()]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseId$;
(function (GetAllFeedbackResponseId$) {
    /** @deprecated use `GetAllFeedbackResponseId$inboundSchema` instead. */
    GetAllFeedbackResponseId$.inboundSchema = exports.GetAllFeedbackResponseId$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseId$outboundSchema` instead. */
    GetAllFeedbackResponseId$.outboundSchema = exports.GetAllFeedbackResponseId$outboundSchema;
})(GetAllFeedbackResponseId$ || (exports.GetAllFeedbackResponseId$ = GetAllFeedbackResponseId$ = {}));
function getAllFeedbackResponseIdToJSON(getAllFeedbackResponseId) {
    return JSON.stringify(exports.GetAllFeedbackResponseId$outboundSchema.parse(getAllFeedbackResponseId));
}
function getAllFeedbackResponseIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetAllFeedbackResponseId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllFeedbackResponseId' from JSON`);
}
/** @internal */
exports.GetAllFeedbackResponseUserId$inboundSchema = z.union([z.string(), z.number()]);
/** @internal */
exports.GetAllFeedbackResponseUserId$outboundSchema = z.union([z.string(), z.number()]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseUserId$;
(function (GetAllFeedbackResponseUserId$) {
    /** @deprecated use `GetAllFeedbackResponseUserId$inboundSchema` instead. */
    GetAllFeedbackResponseUserId$.inboundSchema = exports.GetAllFeedbackResponseUserId$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseUserId$outboundSchema` instead. */
    GetAllFeedbackResponseUserId$.outboundSchema = exports.GetAllFeedbackResponseUserId$outboundSchema;
})(GetAllFeedbackResponseUserId$ || (exports.GetAllFeedbackResponseUserId$ = GetAllFeedbackResponseUserId$ = {}));
function getAllFeedbackResponseUserIdToJSON(getAllFeedbackResponseUserId) {
    return JSON.stringify(exports.GetAllFeedbackResponseUserId$outboundSchema.parse(getAllFeedbackResponseUserId));
}
function getAllFeedbackResponseUserIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetAllFeedbackResponseUserId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllFeedbackResponseUserId' from JSON`);
}
/** @internal */
exports.GetAllFeedbackResponseUserProperties$inboundSchema = (0, schemas_js_1.collectExtraKeys)(z.object({
    id: z.nullable(z.union([z.string(), z.number()])).optional(),
    identificationType: z.nullable(z.string()).optional(),
    userId: z.nullable(z.union([z.string(), z.number()])).optional(),
    supportAgentName: z.nullable(z.string()).optional(),
}).catchall(z.any()), "additionalProperties", true);
/** @internal */
exports.GetAllFeedbackResponseUserProperties$outboundSchema = z.object({
    id: z.nullable(z.union([z.string(), z.number()])).optional(),
    identificationType: z.nullable(z.string()).optional(),
    userId: z.nullable(z.union([z.string(), z.number()])).optional(),
    supportAgentName: z.nullable(z.string()).optional(),
    additionalProperties: z.record(z.any()),
}).transform((v) => {
    return {
        ...v.additionalProperties,
        ...(0, primitives_js_1.remap)(v, {
            additionalProperties: null,
        }),
    };
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseUserProperties$;
(function (GetAllFeedbackResponseUserProperties$) {
    /** @deprecated use `GetAllFeedbackResponseUserProperties$inboundSchema` instead. */
    GetAllFeedbackResponseUserProperties$.inboundSchema = exports.GetAllFeedbackResponseUserProperties$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseUserProperties$outboundSchema` instead. */
    GetAllFeedbackResponseUserProperties$.outboundSchema = exports.GetAllFeedbackResponseUserProperties$outboundSchema;
})(GetAllFeedbackResponseUserProperties$ || (exports.GetAllFeedbackResponseUserProperties$ = GetAllFeedbackResponseUserProperties$ = {}));
function getAllFeedbackResponseUserPropertiesToJSON(getAllFeedbackResponseUserProperties) {
    return JSON.stringify(exports.GetAllFeedbackResponseUserProperties$outboundSchema.parse(getAllFeedbackResponseUserProperties));
}
function getAllFeedbackResponseUserPropertiesFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetAllFeedbackResponseUserProperties$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllFeedbackResponseUserProperties' from JSON`);
}
/** @internal */
exports.PositiveFeedback$inboundSchema = z.object({
    id: z.string(),
    type: exports.GetAllFeedbackResponseType$inboundSchema,
    messageId: z.string(),
    createdAt: z.string(),
    reasons: z.nullable(z.array(z.lazy(() => exports.Reasons$inboundSchema))).optional(),
    properties: z.nullable(z.record(z.any())).optional(),
    userProperties: z.nullable(z.lazy(() => exports.GetAllFeedbackResponseUserProperties$inboundSchema)).optional(),
    conversation: conversation_js_1.Conversation$inboundSchema,
    message: message_js_1.Message$inboundSchema,
});
/** @internal */
exports.PositiveFeedback$outboundSchema = z.object({
    id: z.string(),
    type: exports.GetAllFeedbackResponseType$outboundSchema,
    messageId: z.string(),
    createdAt: z.string(),
    reasons: z.nullable(z.array(z.lazy(() => exports.Reasons$outboundSchema))).optional(),
    properties: z.nullable(z.record(z.any())).optional(),
    userProperties: z.nullable(z.lazy(() => exports.GetAllFeedbackResponseUserProperties$outboundSchema)).optional(),
    conversation: conversation_js_1.Conversation$outboundSchema,
    message: message_js_1.Message$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PositiveFeedback$;
(function (PositiveFeedback$) {
    /** @deprecated use `PositiveFeedback$inboundSchema` instead. */
    PositiveFeedback$.inboundSchema = exports.PositiveFeedback$inboundSchema;
    /** @deprecated use `PositiveFeedback$outboundSchema` instead. */
    PositiveFeedback$.outboundSchema = exports.PositiveFeedback$outboundSchema;
})(PositiveFeedback$ || (exports.PositiveFeedback$ = PositiveFeedback$ = {}));
function positiveFeedbackToJSON(positiveFeedback) {
    return JSON.stringify(exports.PositiveFeedback$outboundSchema.parse(positiveFeedback));
}
function positiveFeedbackFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PositiveFeedback$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PositiveFeedback' from JSON`);
}
/** @internal */
exports.GetAllFeedbackResponseNegativeFeedbackType$inboundSchema = z
    .nativeEnum(exports.GetAllFeedbackResponseNegativeFeedbackType);
/** @internal */
exports.GetAllFeedbackResponseNegativeFeedbackType$outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseNegativeFeedbackType$;
(function (GetAllFeedbackResponseNegativeFeedbackType$) {
    /** @deprecated use `GetAllFeedbackResponseNegativeFeedbackType$inboundSchema` instead. */
    GetAllFeedbackResponseNegativeFeedbackType$.inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackType$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseNegativeFeedbackType$outboundSchema` instead. */
    GetAllFeedbackResponseNegativeFeedbackType$.outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackType$outboundSchema;
})(GetAllFeedbackResponseNegativeFeedbackType$ || (exports.GetAllFeedbackResponseNegativeFeedbackType$ = GetAllFeedbackResponseNegativeFeedbackType$ = {}));
/** @internal */
exports.GetAllFeedbackResponseReasons$inboundSchema = z.object({
    label: z.string(),
    details: z.string(),
});
/** @internal */
exports.GetAllFeedbackResponseReasons$outboundSchema = z.object({
    label: z.string(),
    details: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseReasons$;
(function (GetAllFeedbackResponseReasons$) {
    /** @deprecated use `GetAllFeedbackResponseReasons$inboundSchema` instead. */
    GetAllFeedbackResponseReasons$.inboundSchema = exports.GetAllFeedbackResponseReasons$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseReasons$outboundSchema` instead. */
    GetAllFeedbackResponseReasons$.outboundSchema = exports.GetAllFeedbackResponseReasons$outboundSchema;
})(GetAllFeedbackResponseReasons$ || (exports.GetAllFeedbackResponseReasons$ = GetAllFeedbackResponseReasons$ = {}));
function getAllFeedbackResponseReasonsToJSON(getAllFeedbackResponseReasons) {
    return JSON.stringify(exports.GetAllFeedbackResponseReasons$outboundSchema.parse(getAllFeedbackResponseReasons));
}
function getAllFeedbackResponseReasonsFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetAllFeedbackResponseReasons$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllFeedbackResponseReasons' from JSON`);
}
/** @internal */
exports.GetAllFeedbackResponseNegativeFeedbackId$inboundSchema = z.union([z.string(), z.number()]);
/** @internal */
exports.GetAllFeedbackResponseNegativeFeedbackId$outboundSchema = z.union([z.string(), z.number()]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseNegativeFeedbackId$;
(function (GetAllFeedbackResponseNegativeFeedbackId$) {
    /** @deprecated use `GetAllFeedbackResponseNegativeFeedbackId$inboundSchema` instead. */
    GetAllFeedbackResponseNegativeFeedbackId$.inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackId$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseNegativeFeedbackId$outboundSchema` instead. */
    GetAllFeedbackResponseNegativeFeedbackId$.outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackId$outboundSchema;
})(GetAllFeedbackResponseNegativeFeedbackId$ || (exports.GetAllFeedbackResponseNegativeFeedbackId$ = GetAllFeedbackResponseNegativeFeedbackId$ = {}));
function getAllFeedbackResponseNegativeFeedbackIdToJSON(getAllFeedbackResponseNegativeFeedbackId) {
    return JSON.stringify(exports.GetAllFeedbackResponseNegativeFeedbackId$outboundSchema.parse(getAllFeedbackResponseNegativeFeedbackId));
}
function getAllFeedbackResponseNegativeFeedbackIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetAllFeedbackResponseNegativeFeedbackId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllFeedbackResponseNegativeFeedbackId' from JSON`);
}
/** @internal */
exports.GetAllFeedbackResponseNegativeFeedbackUserId$inboundSchema = z.union([z.string(), z.number()]);
/** @internal */
exports.GetAllFeedbackResponseNegativeFeedbackUserId$outboundSchema = z.union([z.string(), z.number()]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseNegativeFeedbackUserId$;
(function (GetAllFeedbackResponseNegativeFeedbackUserId$) {
    /** @deprecated use `GetAllFeedbackResponseNegativeFeedbackUserId$inboundSchema` instead. */
    GetAllFeedbackResponseNegativeFeedbackUserId$.inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackUserId$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseNegativeFeedbackUserId$outboundSchema` instead. */
    GetAllFeedbackResponseNegativeFeedbackUserId$.outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackUserId$outboundSchema;
})(GetAllFeedbackResponseNegativeFeedbackUserId$ || (exports.GetAllFeedbackResponseNegativeFeedbackUserId$ = GetAllFeedbackResponseNegativeFeedbackUserId$ = {}));
function getAllFeedbackResponseNegativeFeedbackUserIdToJSON(getAllFeedbackResponseNegativeFeedbackUserId) {
    return JSON.stringify(exports.GetAllFeedbackResponseNegativeFeedbackUserId$outboundSchema.parse(getAllFeedbackResponseNegativeFeedbackUserId));
}
function getAllFeedbackResponseNegativeFeedbackUserIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetAllFeedbackResponseNegativeFeedbackUserId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllFeedbackResponseNegativeFeedbackUserId' from JSON`);
}
/** @internal */
exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$inboundSchema = (0, schemas_js_1.collectExtraKeys)(z.object({
    id: z.nullable(z.union([z.string(), z.number()])).optional(),
    identificationType: z.nullable(z.string()).optional(),
    userId: z.nullable(z.union([z.string(), z.number()])).optional(),
    supportAgentName: z.nullable(z.string()).optional(),
}).catchall(z.any()), "additionalProperties", true);
/** @internal */
exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$outboundSchema = z.object({
    id: z.nullable(z.union([z.string(), z.number()])).optional(),
    identificationType: z.nullable(z.string()).optional(),
    userId: z.nullable(z.union([z.string(), z.number()])).optional(),
    supportAgentName: z.nullable(z.string()).optional(),
    additionalProperties: z.record(z.any()),
}).transform((v) => {
    return {
        ...v.additionalProperties,
        ...(0, primitives_js_1.remap)(v, {
            additionalProperties: null,
        }),
    };
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponseNegativeFeedbackUserProperties$;
(function (GetAllFeedbackResponseNegativeFeedbackUserProperties$) {
    /** @deprecated use `GetAllFeedbackResponseNegativeFeedbackUserProperties$inboundSchema` instead. */
    GetAllFeedbackResponseNegativeFeedbackUserProperties$.inboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponseNegativeFeedbackUserProperties$outboundSchema` instead. */
    GetAllFeedbackResponseNegativeFeedbackUserProperties$.outboundSchema = exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$outboundSchema;
})(GetAllFeedbackResponseNegativeFeedbackUserProperties$ || (exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$ = GetAllFeedbackResponseNegativeFeedbackUserProperties$ = {}));
function getAllFeedbackResponseNegativeFeedbackUserPropertiesToJSON(getAllFeedbackResponseNegativeFeedbackUserProperties) {
    return JSON.stringify(exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$outboundSchema.parse(getAllFeedbackResponseNegativeFeedbackUserProperties));
}
function getAllFeedbackResponseNegativeFeedbackUserPropertiesFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllFeedbackResponseNegativeFeedbackUserProperties' from JSON`);
}
/** @internal */
exports.NegativeFeedback$inboundSchema = z.object({
    id: z.string(),
    type: exports.GetAllFeedbackResponseNegativeFeedbackType$inboundSchema,
    messageId: z.string(),
    createdAt: z.string(),
    reasons: z.nullable(z.array(z.lazy(() => exports.GetAllFeedbackResponseReasons$inboundSchema))).optional(),
    properties: z.nullable(z.record(z.any())).optional(),
    userProperties: z.nullable(z.lazy(() => exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$inboundSchema)).optional(),
    conversation: conversation_js_1.Conversation$inboundSchema,
    message: message_js_1.Message$inboundSchema,
});
/** @internal */
exports.NegativeFeedback$outboundSchema = z.object({
    id: z.string(),
    type: exports.GetAllFeedbackResponseNegativeFeedbackType$outboundSchema,
    messageId: z.string(),
    createdAt: z.string(),
    reasons: z.nullable(z.array(z.lazy(() => exports.GetAllFeedbackResponseReasons$outboundSchema))).optional(),
    properties: z.nullable(z.record(z.any())).optional(),
    userProperties: z.nullable(z.lazy(() => exports.GetAllFeedbackResponseNegativeFeedbackUserProperties$outboundSchema)).optional(),
    conversation: conversation_js_1.Conversation$outboundSchema,
    message: message_js_1.Message$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var NegativeFeedback$;
(function (NegativeFeedback$) {
    /** @deprecated use `NegativeFeedback$inboundSchema` instead. */
    NegativeFeedback$.inboundSchema = exports.NegativeFeedback$inboundSchema;
    /** @deprecated use `NegativeFeedback$outboundSchema` instead. */
    NegativeFeedback$.outboundSchema = exports.NegativeFeedback$outboundSchema;
})(NegativeFeedback$ || (exports.NegativeFeedback$ = NegativeFeedback$ = {}));
function negativeFeedbackToJSON(negativeFeedback) {
    return JSON.stringify(exports.NegativeFeedback$outboundSchema.parse(negativeFeedback));
}
function negativeFeedbackFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.NegativeFeedback$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'NegativeFeedback' from JSON`);
}
/** @internal */
exports.GetAllFeedbackResponse$inboundSchema = z.object({
    positiveFeedbackCount: z.number(),
    negativeFeedbackCount: z.number(),
    positiveFeedback: z.array(z.lazy(() => exports.PositiveFeedback$inboundSchema)),
    negativeFeedback: z.array(z.lazy(() => exports.NegativeFeedback$inboundSchema)),
});
/** @internal */
exports.GetAllFeedbackResponse$outboundSchema = z.object({
    positiveFeedbackCount: z.number(),
    negativeFeedbackCount: z.number(),
    positiveFeedback: z.array(z.lazy(() => exports.PositiveFeedback$outboundSchema)),
    negativeFeedback: z.array(z.lazy(() => exports.NegativeFeedback$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetAllFeedbackResponse$;
(function (GetAllFeedbackResponse$) {
    /** @deprecated use `GetAllFeedbackResponse$inboundSchema` instead. */
    GetAllFeedbackResponse$.inboundSchema = exports.GetAllFeedbackResponse$inboundSchema;
    /** @deprecated use `GetAllFeedbackResponse$outboundSchema` instead. */
    GetAllFeedbackResponse$.outboundSchema = exports.GetAllFeedbackResponse$outboundSchema;
})(GetAllFeedbackResponse$ || (exports.GetAllFeedbackResponse$ = GetAllFeedbackResponse$ = {}));
function getAllFeedbackResponseToJSON(getAllFeedbackResponse) {
    return JSON.stringify(exports.GetAllFeedbackResponse$outboundSchema.parse(getAllFeedbackResponse));
}
function getAllFeedbackResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetAllFeedbackResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllFeedbackResponse' from JSON`);
}
//# sourceMappingURL=getallfeedbackresponse.js.map