"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.PatchAccountExternalDto$ = exports.PatchAccountExternalDto$outboundSchema = exports.PatchAccountExternalDto$inboundSchema = exports.PatchAccountExternalDtoType$ = exports.PatchAccountExternalDtoType$outboundSchema = exports.PatchAccountExternalDtoType$inboundSchema = exports.SetupInformation$ = exports.SetupInformation$outboundSchema = exports.SetupInformation$inboundSchema = exports.Secrets$ = exports.Secrets$outboundSchema = exports.Secrets$inboundSchema = exports.PatchAccountExternalDtoMetadata$ = exports.PatchAccountExternalDtoMetadata$outboundSchema = exports.PatchAccountExternalDtoMetadata$inboundSchema = exports.Label$ = exports.Label$outboundSchema = exports.Label$inboundSchema = exports.PatchAccountExternalDtoCredentials$ = exports.PatchAccountExternalDtoCredentials$outboundSchema = exports.PatchAccountExternalDtoCredentials$inboundSchema = exports.PatchAccountExternalDtoType = void 0;
exports.patchAccountExternalDtoCredentialsToJSON = patchAccountExternalDtoCredentialsToJSON;
exports.patchAccountExternalDtoCredentialsFromJSON = patchAccountExternalDtoCredentialsFromJSON;
exports.labelToJSON = labelToJSON;
exports.labelFromJSON = labelFromJSON;
exports.patchAccountExternalDtoMetadataToJSON = patchAccountExternalDtoMetadataToJSON;
exports.patchAccountExternalDtoMetadataFromJSON = patchAccountExternalDtoMetadataFromJSON;
exports.secretsToJSON = secretsToJSON;
exports.secretsFromJSON = secretsFromJSON;
exports.setupInformationToJSON = setupInformationToJSON;
exports.setupInformationFromJSON = setupInformationFromJSON;
exports.patchAccountExternalDtoToJSON = patchAccountExternalDtoToJSON;
exports.patchAccountExternalDtoFromJSON = patchAccountExternalDtoFromJSON;
const z = __importStar(require("zod/v3"));
const primitives_js_1 = require("../../../lib/primitives.js");
const schemas_js_1 = require("../../../lib/schemas.js");
const enums_js_1 = require("../../types/enums.js");
/**
 * The account type
 */
var PatchAccountExternalDtoType;
(function (PatchAccountExternalDtoType) {
    PatchAccountExternalDtoType["Production"] = "production";
    PatchAccountExternalDtoType["Test"] = "test";
})(PatchAccountExternalDtoType || (exports.PatchAccountExternalDtoType = PatchAccountExternalDtoType = {}));
/** @internal */
exports.PatchAccountExternalDtoCredentials$inboundSchema = z.object({});
/** @internal */
exports.PatchAccountExternalDtoCredentials$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PatchAccountExternalDtoCredentials$;
(function (PatchAccountExternalDtoCredentials$) {
    /** @deprecated use `PatchAccountExternalDtoCredentials$inboundSchema` instead. */
    PatchAccountExternalDtoCredentials$.inboundSchema = exports.PatchAccountExternalDtoCredentials$inboundSchema;
    /** @deprecated use `PatchAccountExternalDtoCredentials$outboundSchema` instead. */
    PatchAccountExternalDtoCredentials$.outboundSchema = exports.PatchAccountExternalDtoCredentials$outboundSchema;
})(PatchAccountExternalDtoCredentials$ || (exports.PatchAccountExternalDtoCredentials$ = PatchAccountExternalDtoCredentials$ = {}));
function patchAccountExternalDtoCredentialsToJSON(patchAccountExternalDtoCredentials) {
    return JSON.stringify(exports.PatchAccountExternalDtoCredentials$outboundSchema.parse(patchAccountExternalDtoCredentials));
}
function patchAccountExternalDtoCredentialsFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PatchAccountExternalDtoCredentials$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PatchAccountExternalDtoCredentials' from JSON`);
}
/** @internal */
exports.Label$inboundSchema = z
    .object({});
/** @internal */
exports.Label$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Label$;
(function (Label$) {
    /** @deprecated use `Label$inboundSchema` instead. */
    Label$.inboundSchema = exports.Label$inboundSchema;
    /** @deprecated use `Label$outboundSchema` instead. */
    Label$.outboundSchema = exports.Label$outboundSchema;
})(Label$ || (exports.Label$ = Label$ = {}));
function labelToJSON(label) {
    return JSON.stringify(exports.Label$outboundSchema.parse(label));
}
function labelFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Label$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Label' from JSON`);
}
/** @internal */
exports.PatchAccountExternalDtoMetadata$inboundSchema = z.object({});
/** @internal */
exports.PatchAccountExternalDtoMetadata$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PatchAccountExternalDtoMetadata$;
(function (PatchAccountExternalDtoMetadata$) {
    /** @deprecated use `PatchAccountExternalDtoMetadata$inboundSchema` instead. */
    PatchAccountExternalDtoMetadata$.inboundSchema = exports.PatchAccountExternalDtoMetadata$inboundSchema;
    /** @deprecated use `PatchAccountExternalDtoMetadata$outboundSchema` instead. */
    PatchAccountExternalDtoMetadata$.outboundSchema = exports.PatchAccountExternalDtoMetadata$outboundSchema;
})(PatchAccountExternalDtoMetadata$ || (exports.PatchAccountExternalDtoMetadata$ = PatchAccountExternalDtoMetadata$ = {}));
function patchAccountExternalDtoMetadataToJSON(patchAccountExternalDtoMetadata) {
    return JSON.stringify(exports.PatchAccountExternalDtoMetadata$outboundSchema.parse(patchAccountExternalDtoMetadata));
}
function patchAccountExternalDtoMetadataFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PatchAccountExternalDtoMetadata$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PatchAccountExternalDtoMetadata' from JSON`);
}
/** @internal */
exports.Secrets$inboundSchema = z.object({});
/** @internal */
exports.Secrets$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Secrets$;
(function (Secrets$) {
    /** @deprecated use `Secrets$inboundSchema` instead. */
    Secrets$.inboundSchema = exports.Secrets$inboundSchema;
    /** @deprecated use `Secrets$outboundSchema` instead. */
    Secrets$.outboundSchema = exports.Secrets$outboundSchema;
})(Secrets$ || (exports.Secrets$ = Secrets$ = {}));
function secretsToJSON(secrets) {
    return JSON.stringify(exports.Secrets$outboundSchema.parse(secrets));
}
function secretsFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Secrets$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Secrets' from JSON`);
}
/** @internal */
exports.SetupInformation$inboundSchema = z.object({});
/** @internal */
exports.SetupInformation$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var SetupInformation$;
(function (SetupInformation$) {
    /** @deprecated use `SetupInformation$inboundSchema` instead. */
    SetupInformation$.inboundSchema = exports.SetupInformation$inboundSchema;
    /** @deprecated use `SetupInformation$outboundSchema` instead. */
    SetupInformation$.outboundSchema = exports.SetupInformation$outboundSchema;
})(SetupInformation$ || (exports.SetupInformation$ = SetupInformation$ = {}));
function setupInformationToJSON(setupInformation) {
    return JSON.stringify(exports.SetupInformation$outboundSchema.parse(setupInformation));
}
function setupInformationFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.SetupInformation$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SetupInformation' from JSON`);
}
/** @internal */
exports.PatchAccountExternalDtoType$inboundSchema = z
    .union([
    z.nativeEnum(PatchAccountExternalDtoType),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.PatchAccountExternalDtoType$outboundSchema = z.union([
    z.nativeEnum(PatchAccountExternalDtoType),
    z.string().and(z.custom()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PatchAccountExternalDtoType$;
(function (PatchAccountExternalDtoType$) {
    /** @deprecated use `PatchAccountExternalDtoType$inboundSchema` instead. */
    PatchAccountExternalDtoType$.inboundSchema = exports.PatchAccountExternalDtoType$inboundSchema;
    /** @deprecated use `PatchAccountExternalDtoType$outboundSchema` instead. */
    PatchAccountExternalDtoType$.outboundSchema = exports.PatchAccountExternalDtoType$outboundSchema;
})(PatchAccountExternalDtoType$ || (exports.PatchAccountExternalDtoType$ = PatchAccountExternalDtoType$ = {}));
/** @internal */
exports.PatchAccountExternalDto$inboundSchema = z.object({
    authentication_config_key: z.nullable(z.string()).optional(),
    credentials: z.nullable(z.lazy(() => exports.PatchAccountExternalDtoCredentials$inboundSchema)).optional(),
    environment: z.nullable(z.string()).optional(),
    label: z.nullable(z.lazy(() => exports.Label$inboundSchema)).optional(),
    metadata: z.nullable(z.lazy(() => exports.PatchAccountExternalDtoMetadata$inboundSchema)).optional(),
    origin_owner_id: z.nullable(z.string()).optional(),
    origin_owner_name: z.nullable(z.string()).optional(),
    origin_username: z.nullable(z.string()).optional(),
    provider: z.nullable(z.string()).optional(),
    secrets: z.nullable(z.lazy(() => exports.Secrets$inboundSchema)).optional(),
    setup_information: z.nullable(z.lazy(() => exports.SetupInformation$inboundSchema))
        .optional(),
    type: z.nullable(exports.PatchAccountExternalDtoType$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "authentication_config_key": "authenticationConfigKey",
        "origin_owner_id": "originOwnerId",
        "origin_owner_name": "originOwnerName",
        "origin_username": "originUsername",
        "setup_information": "setupInformation",
    });
});
/** @internal */
exports.PatchAccountExternalDto$outboundSchema = z.object({
    authenticationConfigKey: z.nullable(z.string()).optional(),
    credentials: z.nullable(z.lazy(() => exports.PatchAccountExternalDtoCredentials$outboundSchema)).optional(),
    environment: z.nullable(z.string()).optional(),
    label: z.nullable(z.lazy(() => exports.Label$outboundSchema)).optional(),
    metadata: z.nullable(z.lazy(() => exports.PatchAccountExternalDtoMetadata$outboundSchema)).optional(),
    originOwnerId: z.nullable(z.string()).optional(),
    originOwnerName: z.nullable(z.string()).optional(),
    originUsername: z.nullable(z.string()).optional(),
    provider: z.nullable(z.string()).optional(),
    secrets: z.nullable(z.lazy(() => exports.Secrets$outboundSchema)).optional(),
    setupInformation: z.nullable(z.lazy(() => exports.SetupInformation$outboundSchema))
        .optional(),
    type: z.nullable(exports.PatchAccountExternalDtoType$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        authenticationConfigKey: "authentication_config_key",
        originOwnerId: "origin_owner_id",
        originOwnerName: "origin_owner_name",
        originUsername: "origin_username",
        setupInformation: "setup_information",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PatchAccountExternalDto$;
(function (PatchAccountExternalDto$) {
    /** @deprecated use `PatchAccountExternalDto$inboundSchema` instead. */
    PatchAccountExternalDto$.inboundSchema = exports.PatchAccountExternalDto$inboundSchema;
    /** @deprecated use `PatchAccountExternalDto$outboundSchema` instead. */
    PatchAccountExternalDto$.outboundSchema = exports.PatchAccountExternalDto$outboundSchema;
})(PatchAccountExternalDto$ || (exports.PatchAccountExternalDto$ = PatchAccountExternalDto$ = {}));
function patchAccountExternalDtoToJSON(patchAccountExternalDto) {
    return JSON.stringify(exports.PatchAccountExternalDto$outboundSchema.parse(patchAccountExternalDto));
}
function patchAccountExternalDtoFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PatchAccountExternalDto$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PatchAccountExternalDto' from JSON`);
}
//# sourceMappingURL=patchaccountexternaldto.js.map