/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */

import * as z from "zod/v3";
import { remap as remap$ } from "../lib/primitives.js";
import { safeParse } from "../lib/schemas.js";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import * as types from "../types/primitives.js";
import { smartUnion } from "../types/smartUnion.js";
import { SDKValidationError } from "./sdkvalidationerror.js";

export type GetConfigurationProductsRequest = {
  /**
   * ID of the integration configuration
   */
  id: string;
  /**
   * The Team identifier to perform the request on behalf of.
   */
  teamId?: string | undefined;
  /**
   * The Team slug to perform the request on behalf of.
   */
  slug?: string | undefined;
};

export const GetConfigurationProductsStatus = {
  Disabled: "disabled",
  Enabled: "enabled",
} as const;
export type GetConfigurationProductsStatus = ClosedEnum<
  typeof GetConfigurationProductsStatus
>;

export type GetConfigurationProductsRepl = {
  enabled: boolean;
  supportsReadOnlyMode: boolean;
  welcomeMessage?: string | undefined;
};

export type Storage = {
  status: GetConfigurationProductsStatus;
  repl?: GetConfigurationProductsRepl | undefined;
};

export const GetConfigurationProductsIntegrationsStatus = {
  Disabled: "disabled",
  Enabled: "enabled",
} as const;
export type GetConfigurationProductsIntegrationsStatus = ClosedEnum<
  typeof GetConfigurationProductsIntegrationsStatus
>;

export type GetConfigurationProductsExperimentation = {
  status: GetConfigurationProductsIntegrationsStatus;
  edgeConfigSyncingSupport?: boolean | undefined;
};

export const GetConfigurationProductsIntegrationsResponseStatus = {
  Disabled: "disabled",
  Enabled: "enabled",
} as const;
export type GetConfigurationProductsIntegrationsResponseStatus = ClosedEnum<
  typeof GetConfigurationProductsIntegrationsResponseStatus
>;

export type Ai = {
  status: GetConfigurationProductsIntegrationsResponseStatus;
};

export const GetConfigurationProductsIntegrationsResponse200Status = {
  Disabled: "disabled",
  Enabled: "enabled",
} as const;
export type GetConfigurationProductsIntegrationsResponse200Status = ClosedEnum<
  typeof GetConfigurationProductsIntegrationsResponse200Status
>;

export type Authentication = {
  status: GetConfigurationProductsIntegrationsResponse200Status;
};

export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONStatus =
  {
    Disabled: "disabled",
    Enabled: "enabled",
  } as const;
export type GetConfigurationProductsIntegrationsResponse200ApplicationJSONStatus =
  ClosedEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONStatus
  >;

export type Observability = {
  status: GetConfigurationProductsIntegrationsResponse200ApplicationJSONStatus;
};

export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyStatus =
  {
    Disabled: "disabled",
    Enabled: "enabled",
  } as const;
export type GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyStatus =
  ClosedEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyStatus
  >;

export type Video = {
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyStatus;
};

export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsStatus =
  {
    Disabled: "disabled",
    Enabled: "enabled",
  } as const;
export type GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsStatus =
  ClosedEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsStatus
  >;

export type Workflow = {
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsStatus;
};

export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsStatus =
  {
    Disabled: "disabled",
    Enabled: "enabled",
  } as const;
export type GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsStatus =
  ClosedEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsStatus
  >;

export type GetConfigurationProductsChecks = {
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsStatus;
};

export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsLogDrainStatus =
  {
    Disabled: "disabled",
    Enabled: "enabled",
  } as const;
export type GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsLogDrainStatus =
  ClosedEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsLogDrainStatus
  >;

export const Format = {
  Json: "json",
  Ndjson: "ndjson",
} as const;
export type Format = ClosedEnum<typeof Format>;

export type LogDrain = {
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsLogDrainStatus;
  endpoint: string;
  headers?: { [k: string]: string } | undefined;
  format: Format;
};

export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsTraceDrainStatus =
  {
    Disabled: "disabled",
    Enabled: "enabled",
  } as const;
export type GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsTraceDrainStatus =
  ClosedEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsTraceDrainStatus
  >;

export const GetConfigurationProductsFormat = {
  Json: "json",
  Proto: "proto",
} as const;
export type GetConfigurationProductsFormat = ClosedEnum<
  typeof GetConfigurationProductsFormat
>;

export type TraceDrain = {
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsTraceDrainStatus;
  endpoint: string;
  headers?: { [k: string]: string } | undefined;
  format: GetConfigurationProductsFormat;
};

export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsMessagingStatus =
  {
    Disabled: "disabled",
    Enabled: "enabled",
  } as const;
export type GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsMessagingStatus =
  ClosedEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsMessagingStatus
  >;

export type Messaging = {
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsMessagingStatus;
};

export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsOtherStatus =
  {
    Disabled: "disabled",
    Enabled: "enabled",
  } as const;
export type GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsOtherStatus =
  ClosedEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsOtherStatus
  >;

export type Other = {
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsOtherStatus;
};

export type Protocols = {
  storage?: Storage | undefined;
  experimentation?: GetConfigurationProductsExperimentation | undefined;
  ai?: Ai | undefined;
  authentication?: Authentication | undefined;
  observability?: Observability | undefined;
  video?: Video | undefined;
  workflow?: Workflow | undefined;
  checks?: GetConfigurationProductsChecks | undefined;
  logDrain?: LogDrain | undefined;
  traceDrain?: TraceDrain | undefined;
  messaging?: Messaging | undefined;
  other?: Other | undefined;
};

export const PrimaryProtocol = {
  Ai: "ai",
  Authentication: "authentication",
  Checks: "checks",
  Experimentation: "experimentation",
  LogDrain: "logDrain",
  Messaging: "messaging",
  Observability: "observability",
  Other: "other",
  Storage: "storage",
  TraceDrain: "traceDrain",
  Video: "video",
  Workflow: "workflow",
} as const;
export type PrimaryProtocol = ClosedEnum<typeof PrimaryProtocol>;

export const GetConfigurationProductsType = {
  Object: "object",
} as const;
export type GetConfigurationProductsType = ClosedEnum<
  typeof GetConfigurationProductsType
>;

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12Type =
  {
    String: "string",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12Type =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12Type
  >;

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiControl =
  {
    GitNamespace: "git-namespace",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiControl =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiControl
  >;

export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123 =
  ClosedEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
  >;

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123;

export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123 =
  ClosedEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
  >;

export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123;

export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123 =
  ClosedEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
  >;

export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123;

export type GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122
  | string;

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValue =
  {
    expr: string;
  };

export const GitProviders = {
  Bitbucket: "bitbucket",
  Github: "github",
  Gitlab: "gitlab",
} as const;
export type GitProviders = ClosedEnum<typeof GitProviders>;

export type Properties12 = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12Type;
  uiControl:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiControl;
  description?: string | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121
    | boolean
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121
    | boolean
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
  gitProviders?: Array<GitProviders> | undefined;
};

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11Type =
  {
    String: "string",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11Type =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11Type
  >;

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiControl =
  {
    Domain: "domain",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiControl =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiControl
  >;

export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113 =
  ClosedEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
  >;

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113;

export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113 =
  ClosedEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
  >;

export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113;

export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113 =
  ClosedEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
  >;

export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113;

export type GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112
  | string;

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValue =
  {
    expr: string;
  };

export type Properties11 = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11Type;
  uiControl:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiControl;
  description?: string | undefined;
  default?: string | undefined;
  enum?: Array<string> | undefined;
  maxLength?: number | undefined;
  minLength?: number | undefined;
  pattern?: string | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111
    | boolean
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111
    | boolean
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
};

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema10Type =
  {
    String: "string",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema10Type =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema10Type
  >;

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiControl =
  {
    VercelCountry: "vercel-country",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiControl =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiControl
  >;

export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  ClosedEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  >;

export type GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1 =
  {
    expr: string;
  };

export type GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONDisabled =
  | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
  | boolean
  | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3;

export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  ClosedEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  >;

export type GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1 =
  {
    expr: string;
  };

export type GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONHidden =
  | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
  | boolean
  | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3;

export type GetConfigurationProductsUiOptionsIntegrations3 = {
  value: string;
  description?: string | undefined;
  disabled?:
    | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
    | boolean
    | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
    | undefined;
  hidden?:
    | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
    | boolean
    | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
    | undefined;
};

export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  ClosedEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  >;

export type GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1 =
  {
    expr: string;
  };

export type GetConfigurationProductsUiOptionsIntegrationsResponse200Disabled =
  | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1
  | boolean
  | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3;

export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  ClosedEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  >;

export type GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1 =
  {
    expr: string;
  };

export type GetConfigurationProductsUiOptionsIntegrationsResponse200Hidden =
  | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1
  | boolean
  | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3;

export type GetConfigurationProductsUiOptionsIntegrations1 = {
  value: string;
  label: string;
  description?: string | undefined;
  disabled?:
    | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1
    | boolean
    | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3
    | undefined;
  hidden?:
    | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1
    | boolean
    | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3
    | undefined;
};

export type GetConfigurationProductsPropertiesIntegrationsResponse200UiOptions =
  | GetConfigurationProductsUiOptionsIntegrations1
  | GetConfigurationProductsUiOptionsIntegrations3
  | string;

export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
  >;

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3;

export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
  >;

export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3;

export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
  >;

export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3;

export type GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2
  | string;

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValue =
  {
    expr: string;
  };

export type Properties10 = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema10Type;
  uiControl:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiControl;
  uiOptions: Array<
    | GetConfigurationProductsUiOptionsIntegrations1
    | GetConfigurationProductsUiOptionsIntegrations3
    | string
  >;
  description?: string | undefined;
  default?: string | undefined;
  enum?: Array<string> | undefined;
  maxLength?: number | undefined;
  minLength?: number | undefined;
  pattern?: string | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1
    | boolean
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1
    | boolean
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
};

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaType =
  {
    Array: "array",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaType =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaType
  >;

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema9Type =
  {
    String: "string",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema9Type =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema9Type
  >;

export type GetConfigurationProductsPropertiesIntegrationsItems = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema9Type;
  description?: string | undefined;
  minLength?: number | undefined;
  maxLength?: number | undefined;
  pattern?: string | undefined;
  default?: string | undefined;
  enum?: Array<string> | undefined;
};

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiControl =
  {
    MultiVercelRegion: "multi-vercel-region",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiControl =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiControl
  >;

export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3 =
  ClosedEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3
  >;

export type GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1 =
  {
    expr: string;
  };

export type GetConfigurationProductsUiOptionsIntegrationsResponseDisabled =
  | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1
  | boolean
  | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3;

export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3 =
  ClosedEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3
  >;

export type GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1 =
  {
    expr: string;
  };

export type GetConfigurationProductsUiOptionsIntegrationsResponseHidden =
  | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1
  | boolean
  | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3;

export type GetConfigurationProductsUiOptions3 = {
  value: string;
  description?: string | undefined;
  disabled?:
    | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1
    | boolean
    | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3
    | undefined;
  hidden?:
    | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1
    | boolean
    | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3
    | undefined;
};

export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3 =
  ClosedEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3
  >;

export type GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1 =
  {
    expr: string;
  };

export type GetConfigurationProductsUiOptionsIntegrationsDisabled =
  | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1
  | boolean
  | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3;

export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3 =
  ClosedEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3
  >;

export type GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1 =
  {
    expr: string;
  };

export type GetConfigurationProductsUiOptionsIntegrationsHidden =
  | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1
  | boolean
  | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3;

export type GetConfigurationProductsUiOptions1 = {
  value: string;
  label: string;
  description?: string | undefined;
  disabled?:
    | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1
    | boolean
    | GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3
    | undefined;
  hidden?:
    | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1
    | boolean
    | GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3
    | undefined;
};

export type GetConfigurationProductsPropertiesIntegrationsResponseUiOptions =
  | GetConfigurationProductsUiOptions1
  | GetConfigurationProductsUiOptions3
  | string;

export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  >;

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3;

export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  >;

export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3;

export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  >;

export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3;

export type GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2
  | string;

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValue =
  {
    expr: string;
  };

export type Properties9 = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaType;
  items: GetConfigurationProductsPropertiesIntegrationsItems;
  uiControl:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiControl;
  uiOptions: Array<
    | GetConfigurationProductsUiOptions1
    | GetConfigurationProductsUiOptions3
    | string
  >;
  description?: string | undefined;
  maxItems?: number | undefined;
  minItems?: number | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
    | boolean
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1
    | boolean
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
  default?: Array<string> | undefined;
  example?: Array<string> | undefined;
};

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType =
  {
    String: "string",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType
  >;

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl =
  {
    VercelRegion: "vercel-region",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl
  >;

export const GetConfigurationProductsDisabledIntegrationsResponse2003 = {
  Create: "create",
  Update: "update",
} as const;
export type GetConfigurationProductsDisabledIntegrationsResponse2003 =
  ClosedEnum<typeof GetConfigurationProductsDisabledIntegrationsResponse2003>;

export type GetConfigurationProductsDisabledIntegrationsResponse2001 = {
  expr: string;
};

export type GetConfigurationProductsUiOptionsDisabled =
  | GetConfigurationProductsDisabledIntegrationsResponse2001
  | boolean
  | GetConfigurationProductsDisabledIntegrationsResponse2003;

export const GetConfigurationProductsHiddenIntegrationsResponse2003 = {
  Create: "create",
  Update: "update",
} as const;
export type GetConfigurationProductsHiddenIntegrationsResponse2003 = ClosedEnum<
  typeof GetConfigurationProductsHiddenIntegrationsResponse2003
>;

export type GetConfigurationProductsHiddenIntegrationsResponse2001 = {
  expr: string;
};

export type GetConfigurationProductsUiOptionsHidden =
  | GetConfigurationProductsHiddenIntegrationsResponse2001
  | boolean
  | GetConfigurationProductsHiddenIntegrationsResponse2003;

export type UiOptions3 = {
  value: string;
  description?: string | undefined;
  disabled?:
    | GetConfigurationProductsDisabledIntegrationsResponse2001
    | boolean
    | GetConfigurationProductsDisabledIntegrationsResponse2003
    | undefined;
  hidden?:
    | GetConfigurationProductsHiddenIntegrationsResponse2001
    | boolean
    | GetConfigurationProductsHiddenIntegrationsResponse2003
    | undefined;
};

export const GetConfigurationProductsDisabledIntegrationsResponse3 = {
  Create: "create",
  Update: "update",
} as const;
export type GetConfigurationProductsDisabledIntegrationsResponse3 = ClosedEnum<
  typeof GetConfigurationProductsDisabledIntegrationsResponse3
>;

export type GetConfigurationProductsDisabledIntegrationsResponse1 = {
  expr: string;
};

export type UiOptionsDisabled =
  | GetConfigurationProductsDisabledIntegrationsResponse1
  | boolean
  | GetConfigurationProductsDisabledIntegrationsResponse3;

export const GetConfigurationProductsHiddenIntegrationsResponse3 = {
  Create: "create",
  Update: "update",
} as const;
export type GetConfigurationProductsHiddenIntegrationsResponse3 = ClosedEnum<
  typeof GetConfigurationProductsHiddenIntegrationsResponse3
>;

export type GetConfigurationProductsHiddenIntegrationsResponse1 = {
  expr: string;
};

export type UiOptionsHidden =
  | GetConfigurationProductsHiddenIntegrationsResponse1
  | boolean
  | GetConfigurationProductsHiddenIntegrationsResponse3;

export type UiOptions1 = {
  value: string;
  label: string;
  description?: string | undefined;
  disabled?:
    | GetConfigurationProductsDisabledIntegrationsResponse1
    | boolean
    | GetConfigurationProductsDisabledIntegrationsResponse3
    | undefined;
  hidden?:
    | GetConfigurationProductsHiddenIntegrationsResponse1
    | boolean
    | GetConfigurationProductsHiddenIntegrationsResponse3
    | undefined;
};

export type GetConfigurationProductsPropertiesIntegrationsUiOptions =
  | UiOptions1
  | UiOptions3
  | string;

export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  >;

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts3;

export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  >;

export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3;

export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  {
    Create: "create",
    Update: "update",
  } as const;
export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3 =
  ClosedEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  >;

export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3;

/** @internal */
export type GetConfigurationProductsRequest$Outbound = {
  id: string;
  teamId?: string | undefined;
  slug?: string | undefined;
};

/** @internal */
export const GetConfigurationProductsRequest$outboundSchema: z.ZodType<
  GetConfigurationProductsRequest$Outbound,
  z.ZodTypeDef,
  GetConfigurationProductsRequest
> = z.object({
  id: z.string(),
  teamId: z.string().optional(),
  slug: z.string().optional(),
});

export function getConfigurationProductsRequestToJSON(
  getConfigurationProductsRequest: GetConfigurationProductsRequest,
): string {
  return JSON.stringify(
    GetConfigurationProductsRequest$outboundSchema.parse(
      getConfigurationProductsRequest,
    ),
  );
}

/** @internal */
export const GetConfigurationProductsStatus$inboundSchema: z.ZodNativeEnum<
  typeof GetConfigurationProductsStatus
> = z.nativeEnum(GetConfigurationProductsStatus);

/** @internal */
export const GetConfigurationProductsRepl$inboundSchema: z.ZodType<
  GetConfigurationProductsRepl,
  z.ZodTypeDef,
  unknown
> = z.object({
  enabled: types.boolean(),
  supportsReadOnlyMode: types.boolean(),
  welcomeMessage: types.optional(types.string()),
});

export function getConfigurationProductsReplFromJSON(
  jsonString: string,
): SafeParseResult<GetConfigurationProductsRepl, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => GetConfigurationProductsRepl$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsRepl' from JSON`,
  );
}

/** @internal */
export const Storage$inboundSchema: z.ZodType<Storage, z.ZodTypeDef, unknown> =
  z.object({
    status: GetConfigurationProductsStatus$inboundSchema,
    repl: types.optional(
      z.lazy(() => GetConfigurationProductsRepl$inboundSchema),
    ),
  });

export function storageFromJSON(
  jsonString: string,
): SafeParseResult<Storage, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Storage$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Storage' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsStatus$inboundSchema:
  z.ZodNativeEnum<typeof GetConfigurationProductsIntegrationsStatus> = z
    .nativeEnum(GetConfigurationProductsIntegrationsStatus);

/** @internal */
export const GetConfigurationProductsExperimentation$inboundSchema: z.ZodType<
  GetConfigurationProductsExperimentation,
  z.ZodTypeDef,
  unknown
> = z.object({
  status: GetConfigurationProductsIntegrationsStatus$inboundSchema,
  edgeConfigSyncingSupport: types.optional(types.boolean()),
});

export function getConfigurationProductsExperimentationFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsExperimentation,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsExperimentation$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsExperimentation' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponseStatus$inboundSchema:
  z.ZodNativeEnum<typeof GetConfigurationProductsIntegrationsResponseStatus> = z
    .nativeEnum(GetConfigurationProductsIntegrationsResponseStatus);

/** @internal */
export const Ai$inboundSchema: z.ZodType<Ai, z.ZodTypeDef, unknown> = z.object({
  status: GetConfigurationProductsIntegrationsResponseStatus$inboundSchema,
});

export function aiFromJSON(
  jsonString: string,
): SafeParseResult<Ai, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Ai$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Ai' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200Status$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200Status
  > = z.nativeEnum(GetConfigurationProductsIntegrationsResponse200Status);

/** @internal */
export const Authentication$inboundSchema: z.ZodType<
  Authentication,
  z.ZodTypeDef,
  unknown
> = z.object({
  status: GetConfigurationProductsIntegrationsResponse200Status$inboundSchema,
});

export function authenticationFromJSON(
  jsonString: string,
): SafeParseResult<Authentication, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Authentication$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Authentication' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONStatus$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONStatus
  > = z.nativeEnum(
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONStatus,
  );

/** @internal */
export const Observability$inboundSchema: z.ZodType<
  Observability,
  z.ZodTypeDef,
  unknown
> = z.object({
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONStatus$inboundSchema,
});

export function observabilityFromJSON(
  jsonString: string,
): SafeParseResult<Observability, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Observability$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Observability' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyStatus$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyStatus
  > = z.nativeEnum(
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyStatus,
  );

/** @internal */
export const Video$inboundSchema: z.ZodType<Video, z.ZodTypeDef, unknown> = z
  .object({
    status:
      GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyStatus$inboundSchema,
  });

export function videoFromJSON(
  jsonString: string,
): SafeParseResult<Video, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Video$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Video' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsStatus$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsStatus
  > = z.nativeEnum(
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsStatus,
  );

/** @internal */
export const Workflow$inboundSchema: z.ZodType<
  Workflow,
  z.ZodTypeDef,
  unknown
> = z.object({
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsStatus$inboundSchema,
});

export function workflowFromJSON(
  jsonString: string,
): SafeParseResult<Workflow, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Workflow$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Workflow' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsStatus$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsStatus
  > = z.nativeEnum(
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsStatus,
  );

/** @internal */
export const GetConfigurationProductsChecks$inboundSchema: z.ZodType<
  GetConfigurationProductsChecks,
  z.ZodTypeDef,
  unknown
> = z.object({
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsStatus$inboundSchema,
});

export function getConfigurationProductsChecksFromJSON(
  jsonString: string,
): SafeParseResult<GetConfigurationProductsChecks, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => GetConfigurationProductsChecks$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsChecks' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsLogDrainStatus$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsLogDrainStatus
  > = z.nativeEnum(
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsLogDrainStatus,
  );

/** @internal */
export const Format$inboundSchema: z.ZodNativeEnum<typeof Format> = z
  .nativeEnum(Format);

/** @internal */
export const LogDrain$inboundSchema: z.ZodType<
  LogDrain,
  z.ZodTypeDef,
  unknown
> = z.object({
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsLogDrainStatus$inboundSchema,
  endpoint: types.string(),
  headers: types.optional(z.record(types.string())),
  format: Format$inboundSchema,
});

export function logDrainFromJSON(
  jsonString: string,
): SafeParseResult<LogDrain, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => LogDrain$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'LogDrain' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsTraceDrainStatus$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsTraceDrainStatus
  > = z.nativeEnum(
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsTraceDrainStatus,
  );

/** @internal */
export const GetConfigurationProductsFormat$inboundSchema: z.ZodNativeEnum<
  typeof GetConfigurationProductsFormat
> = z.nativeEnum(GetConfigurationProductsFormat);

/** @internal */
export const TraceDrain$inboundSchema: z.ZodType<
  TraceDrain,
  z.ZodTypeDef,
  unknown
> = z.object({
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsTraceDrainStatus$inboundSchema,
  endpoint: types.string(),
  headers: types.optional(z.record(types.string())),
  format: GetConfigurationProductsFormat$inboundSchema,
});

export function traceDrainFromJSON(
  jsonString: string,
): SafeParseResult<TraceDrain, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => TraceDrain$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'TraceDrain' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsMessagingStatus$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsMessagingStatus
  > = z.nativeEnum(
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsMessagingStatus,
  );

/** @internal */
export const Messaging$inboundSchema: z.ZodType<
  Messaging,
  z.ZodTypeDef,
  unknown
> = z.object({
  status:
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsMessagingStatus$inboundSchema,
});

export function messagingFromJSON(
  jsonString: string,
): SafeParseResult<Messaging, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Messaging$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Messaging' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsOtherStatus$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsOtherStatus
  > = z.nativeEnum(
    GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsOtherStatus,
  );

/** @internal */
export const Other$inboundSchema: z.ZodType<Other, z.ZodTypeDef, unknown> = z
  .object({
    status:
      GetConfigurationProductsIntegrationsResponse200ApplicationJSONResponseBodyProductsProtocolsOtherStatus$inboundSchema,
  });

export function otherFromJSON(
  jsonString: string,
): SafeParseResult<Other, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Other$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Other' from JSON`,
  );
}

/** @internal */
export const Protocols$inboundSchema: z.ZodType<
  Protocols,
  z.ZodTypeDef,
  unknown
> = z.object({
  storage: types.optional(z.lazy(() => Storage$inboundSchema)),
  experimentation: types.optional(
    z.lazy(() => GetConfigurationProductsExperimentation$inboundSchema),
  ),
  ai: types.optional(z.lazy(() => Ai$inboundSchema)),
  authentication: types.optional(z.lazy(() => Authentication$inboundSchema)),
  observability: types.optional(z.lazy(() => Observability$inboundSchema)),
  video: types.optional(z.lazy(() => Video$inboundSchema)),
  workflow: types.optional(z.lazy(() => Workflow$inboundSchema)),
  checks: types.optional(
    z.lazy(() => GetConfigurationProductsChecks$inboundSchema),
  ),
  logDrain: types.optional(z.lazy(() => LogDrain$inboundSchema)),
  traceDrain: types.optional(z.lazy(() => TraceDrain$inboundSchema)),
  messaging: types.optional(z.lazy(() => Messaging$inboundSchema)),
  other: types.optional(z.lazy(() => Other$inboundSchema)),
});

export function protocolsFromJSON(
  jsonString: string,
): SafeParseResult<Protocols, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Protocols$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Protocols' from JSON`,
  );
}

/** @internal */
export const PrimaryProtocol$inboundSchema: z.ZodNativeEnum<
  typeof PrimaryProtocol
> = z.nativeEnum(PrimaryProtocol);

/** @internal */
export const GetConfigurationProductsType$inboundSchema: z.ZodNativeEnum<
  typeof GetConfigurationProductsType
> = z.nativeEnum(GetConfigurationProductsType);

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12Type$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12Type
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12Type,
  );

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiControl$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiControl
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiControl,
  );

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
  > = z.nativeEnum(
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123,
  );

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiReadOnly$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiReadOnly,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiReadOnlyFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiReadOnly,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiReadOnly$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiReadOnly' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
  > = z.nativeEnum(
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123,
  );

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiHidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiHidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiHidden$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiHidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123
  > = z.nativeEnum(
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123,
  );

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDisabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDisabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDisabled$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDescription$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDescription,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122$inboundSchema
    ),
    types.string(),
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDescriptionFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDescription,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDescription$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiDescription' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValue$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValue,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValueFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValue' from JSON`,
  );
}

/** @internal */
export const GitProviders$inboundSchema: z.ZodNativeEnum<typeof GitProviders> =
  z.nativeEnum(GitProviders);

/** @internal */
export const Properties12$inboundSchema: z.ZodType<
  Properties12,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12Type$inboundSchema,
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiControl$inboundSchema,
  description: types.optional(types.string()),
  "ui:label": types.optional(types.string()),
  "ui:read-only": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties121$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties123$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties122$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema12UiFormattedValue$inboundSchema
    ),
  ),
  "ui:paid-only": types.optional(types.boolean()),
  "ui:placeholder": types.optional(types.string()),
  "git:providers": types.optional(z.array(GitProviders$inboundSchema)),
}).transform((v) => {
  return remap$(v, {
    "ui:control": "uiControl",
    "ui:label": "uiLabel",
    "ui:read-only": "uiReadOnly",
    "ui:hidden": "uiHidden",
    "ui:disabled": "uiDisabled",
    "ui:description": "uiDescription",
    "ui:formatted-value": "uiFormattedValue",
    "ui:paid-only": "uiPaidOnly",
    "ui:placeholder": "uiPlaceholder",
    "git:providers": "gitProviders",
  });
});

export function properties12FromJSON(
  jsonString: string,
): SafeParseResult<Properties12, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties12$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties12' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11Type$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11Type
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11Type,
  );

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiControl$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiControl
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiControl,
  );

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
  > = z.nativeEnum(
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113,
  );

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiReadOnly$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiReadOnly,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiReadOnlyFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiReadOnly,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiReadOnly$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiReadOnly' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
  > = z.nativeEnum(
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113,
  );

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiHidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiHidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiHidden$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiHidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113
  > = z.nativeEnum(
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113,
  );

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDisabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDisabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDisabled$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDescription$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDescription,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112$inboundSchema
    ),
    types.string(),
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDescriptionFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDescription,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDescription$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiDescription' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValue$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValue,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValueFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValue' from JSON`,
  );
}

/** @internal */
export const Properties11$inboundSchema: z.ZodType<
  Properties11,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11Type$inboundSchema,
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiControl$inboundSchema,
  description: types.optional(types.string()),
  default: types.optional(types.string()),
  enum: types.optional(z.array(types.string())),
  maxLength: types.optional(types.number()),
  minLength: types.optional(types.number()),
  pattern: types.optional(types.string()),
  "ui:label": types.optional(types.string()),
  "ui:read-only": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties111$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties113$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties112$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema11UiFormattedValue$inboundSchema
    ),
  ),
  "ui:paid-only": types.optional(types.boolean()),
  "ui:placeholder": types.optional(types.string()),
}).transform((v) => {
  return remap$(v, {
    "ui:control": "uiControl",
    "ui:label": "uiLabel",
    "ui:read-only": "uiReadOnly",
    "ui:hidden": "uiHidden",
    "ui:disabled": "uiDisabled",
    "ui:description": "uiDescription",
    "ui:formatted-value": "uiFormattedValue",
    "ui:paid-only": "uiPaidOnly",
    "ui:placeholder": "uiPlaceholder",
  });
});

export function properties11FromJSON(
  jsonString: string,
): SafeParseResult<Properties11, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties11$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties11' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema10Type$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema10Type
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema10Type,
  );

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiControl$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiControl
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiControl,
  );

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  > = z.nativeEnum(
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3,
  );

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONDisabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONDisabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
  ]);

export function getConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONDisabled$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  > = z.nativeEnum(
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3,
  );

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONHidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONHidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
  ]);

export function getConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONHidden$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrationsResponse200ApplicationJSONHidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrations3$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrations3,
    z.ZodTypeDef,
    unknown
  > = z.object({
    value: types.string(),
    description: types.optional(types.string()),
    disabled: types.optional(
      smartUnion([
        z.lazy(() =>
          GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
        ),
        types.boolean(),
        GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
      ]),
    ),
    hidden: types.optional(
      smartUnion([
        z.lazy(() =>
          GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
        ),
        types.boolean(),
        GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
      ]),
    ),
  });

export function getConfigurationProductsUiOptionsIntegrations3FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrations3,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrations3$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrations3' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  > = z.nativeEnum(
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3,
  );

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrationsResponse200Disabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrationsResponse200Disabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema,
  ]);

export function getConfigurationProductsUiOptionsIntegrationsResponse200DisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrationsResponse200Disabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrationsResponse200Disabled$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrationsResponse200Disabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  > = z.nativeEnum(
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3,
  );

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrationsResponse200Hidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrationsResponse200Hidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema,
  ]);

export function getConfigurationProductsUiOptionsIntegrationsResponse200HiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrationsResponse200Hidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrationsResponse200Hidden$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrationsResponse200Hidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrations1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrations1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    value: types.string(),
    label: types.string(),
    description: types.optional(types.string()),
    disabled: types.optional(
      smartUnion([
        z.lazy(() =>
          GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
        ),
        types.boolean(),
        GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema,
      ]),
    ),
    hidden: types.optional(
      smartUnion([
        z.lazy(() =>
          GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
        ),
        types.boolean(),
        GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema,
      ]),
    ),
  });

export function getConfigurationProductsUiOptionsIntegrations1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrations1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrations1$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrations1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200UiOptions$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200UiOptions,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() => GetConfigurationProductsUiOptionsIntegrations1$inboundSchema),
    z.lazy(() => GetConfigurationProductsUiOptionsIntegrations3$inboundSchema),
    types.string(),
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200UiOptionsFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200UiOptions,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200UiOptions$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200UiOptions' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
  > = z.nativeEnum(
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3,
  );

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiReadOnly$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiReadOnly,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiReadOnlyFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiReadOnly,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiReadOnly$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiReadOnly' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
  > = z.nativeEnum(
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3,
  );

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiHidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiHidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiHidden$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiHidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3
  > = z.nativeEnum(
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3,
  );

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDisabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDisabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDisabled$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDescription$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDescription,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2$inboundSchema
    ),
    types.string(),
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDescriptionFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDescription,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDescription$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiDescription' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValue$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValue,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValueFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValue' from JSON`,
  );
}

/** @internal */
export const Properties10$inboundSchema: z.ZodType<
  Properties10,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema10Type$inboundSchema,
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiControl$inboundSchema,
  "ui:options": z.array(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiOptionsIntegrations1$inboundSchema
      ),
      z.lazy(() =>
        GetConfigurationProductsUiOptionsIntegrations3$inboundSchema
      ),
      types.string(),
    ]),
  ),
  description: types.optional(types.string()),
  default: types.optional(types.string()),
  enum: types.optional(z.array(types.string())),
  maxLength: types.optional(types.number()),
  minLength: types.optional(types.number()),
  pattern: types.optional(types.string()),
  "ui:label": types.optional(types.string()),
  "ui:read-only": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties3$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaProperties2$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaUiFormattedValue$inboundSchema
    ),
  ),
  "ui:paid-only": types.optional(types.boolean()),
  "ui:placeholder": types.optional(types.string()),
}).transform((v) => {
  return remap$(v, {
    "ui:control": "uiControl",
    "ui:options": "uiOptions",
    "ui:label": "uiLabel",
    "ui:read-only": "uiReadOnly",
    "ui:hidden": "uiHidden",
    "ui:disabled": "uiDisabled",
    "ui:description": "uiDescription",
    "ui:formatted-value": "uiFormattedValue",
    "ui:paid-only": "uiPaidOnly",
    "ui:placeholder": "uiPlaceholder",
  });
});

export function properties10FromJSON(
  jsonString: string,
): SafeParseResult<Properties10, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties10$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties10' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaType$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaType
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaType,
  );

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema9Type$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema9Type
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema9Type,
  );

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsItems$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsItems,
    z.ZodTypeDef,
    unknown
  > = z.object({
    type:
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema9Type$inboundSchema,
    description: types.optional(types.string()),
    minLength: types.optional(types.number()),
    maxLength: types.optional(types.number()),
    pattern: types.optional(types.string()),
    default: types.optional(types.string()),
    enum: types.optional(z.array(types.string())),
  });

export function getConfigurationProductsPropertiesIntegrationsItemsFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsItems,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsItems$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsItems' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiControl$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiControl
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiControl,
  );

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3
  > = z.nativeEnum(
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3,
  );

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrationsResponseDisabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrationsResponseDisabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema,
  ]);

export function getConfigurationProductsUiOptionsIntegrationsResponseDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrationsResponseDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrationsResponseDisabled$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrationsResponseDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3
  > = z.nativeEnum(
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3,
  );

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrationsResponseHidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrationsResponseHidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema,
  ]);

export function getConfigurationProductsUiOptionsIntegrationsResponseHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrationsResponseHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrationsResponseHidden$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrationsResponseHidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptions3$inboundSchema: z.ZodType<
  GetConfigurationProductsUiOptions3,
  z.ZodTypeDef,
  unknown
> = z.object({
  value: types.string(),
  description: types.optional(types.string()),
  disabled: types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema,
    ]),
  ),
  hidden: types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema,
    ]),
  ),
});

export function getConfigurationProductsUiOptions3FromJSON(
  jsonString: string,
): SafeParseResult<GetConfigurationProductsUiOptions3, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptions3$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiOptions3' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3
  > = z.nativeEnum(
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3,
  );

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsDisabledIntegrationsResponse200ApplicationJSON1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrationsDisabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrationsDisabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3$inboundSchema,
  ]);

export function getConfigurationProductsUiOptionsIntegrationsDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrationsDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrationsDisabled$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrationsDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3
  > = z.nativeEnum(
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3,
  );

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsHiddenIntegrationsResponse200ApplicationJSON1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsIntegrationsHidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiOptionsIntegrationsHidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3$inboundSchema,
  ]);

export function getConfigurationProductsUiOptionsIntegrationsHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsIntegrationsHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsIntegrationsHidden$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsUiOptionsIntegrationsHidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptions1$inboundSchema: z.ZodType<
  GetConfigurationProductsUiOptions1,
  z.ZodTypeDef,
  unknown
> = z.object({
  value: types.string(),
  label: types.string(),
  description: types.optional(types.string()),
  disabled: types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsDisabledIntegrationsResponse200ApplicationJson3$inboundSchema,
    ]),
  ),
  hidden: types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsHiddenIntegrationsResponse200ApplicationJson3$inboundSchema,
    ]),
  ),
});

export function getConfigurationProductsUiOptions1FromJSON(
  jsonString: string,
): SafeParseResult<GetConfigurationProductsUiOptions1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptions1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiOptions1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponseUiOptions$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponseUiOptions,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() => GetConfigurationProductsUiOptions1$inboundSchema),
    z.lazy(() => GetConfigurationProductsUiOptions3$inboundSchema),
    types.string(),
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponseUiOptionsFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponseUiOptions,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponseUiOptions$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponseUiOptions' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  > = z.nativeEnum(
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3,
  );

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiReadOnly$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiReadOnly,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiReadOnlyFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiReadOnly,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiReadOnly$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiReadOnly' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  > = z.nativeEnum(
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3,
  );

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiHidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiHidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiHidden$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiHidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3
  > = z.nativeEnum(
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3,
  );

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDisabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDisabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDisabled$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDescription$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDescription,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2$inboundSchema
    ),
    types.string(),
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDescriptionFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDescription,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDescription$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiDescription' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValue$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValue,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValueFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValue' from JSON`,
  );
}

/** @internal */
export const Properties9$inboundSchema: z.ZodType<
  Properties9,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchemaType$inboundSchema,
  items: z.lazy(() =>
    GetConfigurationProductsPropertiesIntegrationsItems$inboundSchema
  ),
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiControl$inboundSchema,
  "ui:options": z.array(
    smartUnion([
      z.lazy(() => GetConfigurationProductsUiOptions1$inboundSchema),
      z.lazy(() => GetConfigurationProductsUiOptions3$inboundSchema),
      types.string(),
    ]),
  ),
  description: types.optional(types.string()),
  maxItems: types.optional(types.number()),
  minItems: types.optional(types.number()),
  "ui:label": types.optional(types.string()),
  "ui:read-only": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema3$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema2$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsUiFormattedValue$inboundSchema
    ),
  ),
  "ui:paid-only": types.optional(types.boolean()),
  "ui:placeholder": types.optional(types.string()),
  default: types.optional(z.array(types.string())),
  example: types.optional(z.array(types.string())),
}).transform((v) => {
  return remap$(v, {
    "ui:control": "uiControl",
    "ui:options": "uiOptions",
    "ui:label": "uiLabel",
    "ui:read-only": "uiReadOnly",
    "ui:hidden": "uiHidden",
    "ui:disabled": "uiDisabled",
    "ui:description": "uiDescription",
    "ui:formatted-value": "uiFormattedValue",
    "ui:paid-only": "uiPaidOnly",
    "ui:placeholder": "uiPlaceholder",
  });
});

export function properties9FromJSON(
  jsonString: string,
): SafeParseResult<Properties9, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties9$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties9' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType,
  );

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl
  > = z.nativeEnum(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl,
  );

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse2003$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse2003
  > = z.nativeEnum(GetConfigurationProductsDisabledIntegrationsResponse2003);

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse2001$inboundSchema:
  z.ZodType<
    GetConfigurationProductsDisabledIntegrationsResponse2001,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsDisabledIntegrationsResponse2001FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsDisabledIntegrationsResponse2001,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsDisabledIntegrationsResponse2001$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsDisabledIntegrationsResponse2001' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsDisabled$inboundSchema: z.ZodType<
  GetConfigurationProductsUiOptionsDisabled,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() =>
    GetConfigurationProductsDisabledIntegrationsResponse2001$inboundSchema
  ),
  types.boolean(),
  GetConfigurationProductsDisabledIntegrationsResponse2003$inboundSchema,
]);

export function getConfigurationProductsUiOptionsDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsDisabled$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsUiOptionsDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse2003$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsHiddenIntegrationsResponse2003
  > = z.nativeEnum(GetConfigurationProductsHiddenIntegrationsResponse2003);

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse2001$inboundSchema:
  z.ZodType<
    GetConfigurationProductsHiddenIntegrationsResponse2001,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsHiddenIntegrationsResponse2001FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsHiddenIntegrationsResponse2001,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsHiddenIntegrationsResponse2001$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsHiddenIntegrationsResponse2001' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiOptionsHidden$inboundSchema: z.ZodType<
  GetConfigurationProductsUiOptionsHidden,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() =>
    GetConfigurationProductsHiddenIntegrationsResponse2001$inboundSchema
  ),
  types.boolean(),
  GetConfigurationProductsHiddenIntegrationsResponse2003$inboundSchema,
]);

export function getConfigurationProductsUiOptionsHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiOptionsHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiOptionsHidden$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsUiOptionsHidden' from JSON`,
  );
}

/** @internal */
export const UiOptions3$inboundSchema: z.ZodType<
  UiOptions3,
  z.ZodTypeDef,
  unknown
> = z.object({
  value: types.string(),
  description: types.optional(types.string()),
  disabled: types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsDisabledIntegrationsResponse2001$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsDisabledIntegrationsResponse2003$inboundSchema,
    ]),
  ),
  hidden: types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsHiddenIntegrationsResponse2001$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsHiddenIntegrationsResponse2003$inboundSchema,
    ]),
  ),
});

export function uiOptions3FromJSON(
  jsonString: string,
): SafeParseResult<UiOptions3, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UiOptions3$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UiOptions3' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsDisabledIntegrationsResponse3
  > = z.nativeEnum(GetConfigurationProductsDisabledIntegrationsResponse3);

/** @internal */
export const GetConfigurationProductsDisabledIntegrationsResponse1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsDisabledIntegrationsResponse1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsDisabledIntegrationsResponse1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsDisabledIntegrationsResponse1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsDisabledIntegrationsResponse1$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsDisabledIntegrationsResponse1' from JSON`,
  );
}

/** @internal */
export const UiOptionsDisabled$inboundSchema: z.ZodType<
  UiOptionsDisabled,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() =>
    GetConfigurationProductsDisabledIntegrationsResponse1$inboundSchema
  ),
  types.boolean(),
  GetConfigurationProductsDisabledIntegrationsResponse3$inboundSchema,
]);

export function uiOptionsDisabledFromJSON(
  jsonString: string,
): SafeParseResult<UiOptionsDisabled, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UiOptionsDisabled$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UiOptionsDisabled' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse3$inboundSchema:
  z.ZodNativeEnum<typeof GetConfigurationProductsHiddenIntegrationsResponse3> =
    z.nativeEnum(GetConfigurationProductsHiddenIntegrationsResponse3);

/** @internal */
export const GetConfigurationProductsHiddenIntegrationsResponse1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsHiddenIntegrationsResponse1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsHiddenIntegrationsResponse1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsHiddenIntegrationsResponse1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsHiddenIntegrationsResponse1$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsHiddenIntegrationsResponse1' from JSON`,
  );
}

/** @internal */
export const UiOptionsHidden$inboundSchema: z.ZodType<
  UiOptionsHidden,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() =>
    GetConfigurationProductsHiddenIntegrationsResponse1$inboundSchema
  ),
  types.boolean(),
  GetConfigurationProductsHiddenIntegrationsResponse3$inboundSchema,
]);

export function uiOptionsHiddenFromJSON(
  jsonString: string,
): SafeParseResult<UiOptionsHidden, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UiOptionsHidden$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UiOptionsHidden' from JSON`,
  );
}

/** @internal */
export const UiOptions1$inboundSchema: z.ZodType<
  UiOptions1,
  z.ZodTypeDef,
  unknown
> = z.object({
  value: types.string(),
  label: types.string(),
  description: types.optional(types.string()),
  disabled: types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsDisabledIntegrationsResponse1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsDisabledIntegrationsResponse3$inboundSchema,
    ]),
  ),
  hidden: types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsHiddenIntegrationsResponse1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsHiddenIntegrationsResponse3$inboundSchema,
    ]),
  ),
});

export function uiOptions1FromJSON(
  jsonString: string,
): SafeParseResult<UiOptions1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UiOptions1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UiOptions1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsUiOptions$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsUiOptions,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() => UiOptions1$inboundSchema),
    z.lazy(() => UiOptions3$inboundSchema),
    types.string(),
  ]);

export function getConfigurationProductsPropertiesIntegrationsUiOptionsFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsUiOptions,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsUiOptions$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsUiOptions' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  > = z.nativeEnum(
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts3,
  );

/** @internal */
export const GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnlyFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  > = z.nativeEnum(
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3,
  );

/** @internal */
export const GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHiddenFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema:
  z.ZodNativeEnum<
    typeof GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3
  > = z.nativeEnum(
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3,
  );

/** @internal */
export const GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema:
  z.ZodType<
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
    z.ZodTypeDef,
    unknown
  > = z.object({
    expr: types.string(),
  });

export function getConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1FromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1' from JSON`,
  );
}

/** @internal */
export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() =>
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts1$inboundSchema
    ),
    types.boolean(),
    GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBodyProducts3$inboundSchema,
  ]);

export function getConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabledFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled' from JSON`,
  );
}
