/*
 * 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 {
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType$inboundSchema,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl$inboundSchema,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled$inboundSchema,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden$inboundSchema,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly,
  GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly$inboundSchema,
  GetConfigurationProductsPropertiesIntegrationsUiOptions,
  GetConfigurationProductsPropertiesIntegrationsUiOptions$inboundSchema,
  GetConfigurationProductsType,
  GetConfigurationProductsType$inboundSchema,
  PrimaryProtocol,
  PrimaryProtocol$inboundSchema,
  Properties10,
  Properties10$inboundSchema,
  Properties11,
  Properties11$inboundSchema,
  Properties12,
  Properties12$inboundSchema,
  Properties9,
  Properties9$inboundSchema,
  Protocols,
  Protocols$inboundSchema,
} from "./getconfigurationproductspropertiesintegrationsresponse200applicationjsonresponsebodyuidisabled.js";
import { SDKValidationError } from "./sdkvalidationerror.js";

export type GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProducts2 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProducts2
  | string;

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiFormattedValue =
  {
    expr: string;
  };

export type Properties8 = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType;
  uiControl:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl;
  uiOptions: Array<GetConfigurationProductsPropertiesIntegrationsUiOptions>;
  description?: string | undefined;
  default?: string | undefined;
  enum?: Array<string> | undefined;
  maxLength?: number | undefined;
  minLength?: number | undefined;
  pattern?: string | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly
    | undefined;
  uiHidden?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProducts2
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
};

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

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

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

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiControl =
  {
    MultiSelect: "multi-select",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiControl =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiControl
  >;

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

export type GetConfigurationProductsDisabledIntegrations1 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesDisabled =
  | GetConfigurationProductsDisabledIntegrations1
  | boolean
  | GetConfigurationProductsDisabledIntegrations3;

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

export type GetConfigurationProductsHiddenIntegrations1 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesHidden =
  | GetConfigurationProductsHiddenIntegrations1
  | boolean
  | GetConfigurationProductsHiddenIntegrations3;

export type GetConfigurationProductsPropertiesUiOptions = {
  value: string;
  label: string;
  description?: string | undefined;
  disabled?:
    | GetConfigurationProductsDisabledIntegrations1
    | boolean
    | GetConfigurationProductsDisabledIntegrations3
    | undefined;
  hidden?:
    | GetConfigurationProductsHiddenIntegrations1
    | boolean
    | GetConfigurationProductsHiddenIntegrations3
    | undefined;
};

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

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBody1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBody1
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBody3;

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

export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBody1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBody1
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBody3;

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

export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBody1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBody1
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBody3;

export type GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBody2 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBody2
  | string;

export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiFormattedValue =
  {
    expr: string;
  };

export type Properties7 = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyType;
  items: GetConfigurationProductsPropertiesItems;
  uiControl:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiControl;
  uiOptions: Array<GetConfigurationProductsPropertiesUiOptions>;
  description?: string | undefined;
  maxItems?: number | undefined;
  minItems?: number | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBody1
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBody3
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBody1
    | boolean
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBody3
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBody1
    | boolean
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBody3
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBody2
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
  default?: Array<string> | undefined;
  example?: Array<string> | undefined;
};

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

export const GetConfigurationProductsPropertiesIntegrationsResponse200UiControl =
  {
    RadioButton: "radio-button",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200UiControl =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200UiControl
  >;

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

export type GetConfigurationProductsDisabled1 = {
  expr: string;
};

export type PropertiesDisabled =
  | GetConfigurationProductsDisabled1
  | boolean
  | GetConfigurationProductsDisabled3;

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

export type GetConfigurationProductsHidden1 = {
  expr: string;
};

export type PropertiesHidden =
  | GetConfigurationProductsHidden1
  | boolean
  | GetConfigurationProductsHidden3;

export type PropertiesUiOptions = {
  value: string;
  label: string;
  description?: string | undefined;
  disabled?:
    | GetConfigurationProductsDisabled1
    | boolean
    | GetConfigurationProductsDisabled3
    | undefined;
  hidden?:
    | GetConfigurationProductsHidden1
    | boolean
    | GetConfigurationProductsHidden3
    | undefined;
};

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

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJson1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200UiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJson1
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJson3;

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

export type GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJson1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200UiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJson1
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJson3;

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

export type GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJson1 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200UiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJson1
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJson3;

export type GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJson2 =
  {
    expr: string;
  };

export type GetConfigurationProductsPropertiesIntegrationsResponse200UiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJson2
  | string;

export type GetConfigurationProductsPropertiesIntegrationsResponse200UiFormattedValue =
  {
    expr: string;
  };

export type Properties6 = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONType;
  uiControl: GetConfigurationProductsPropertiesIntegrationsResponse200UiControl;
  uiOptions: Array<PropertiesUiOptions>;
  description?: string | undefined;
  default?: string | undefined;
  enum?: Array<string> | undefined;
  maxLength?: number | undefined;
  minLength?: number | undefined;
  pattern?: string | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJson1
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJson3
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJson1
    | boolean
    | GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJson3
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJson1
    | boolean
    | GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJson3
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJson2
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsResponse200UiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
};

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

export const GetConfigurationProductsPropertiesIntegrationsResponseUiControl = {
  Select: "select",
} as const;
export type GetConfigurationProductsPropertiesIntegrationsResponseUiControl =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponseUiControl
  >;

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

export type Disabled1 = {
  expr: string;
};

export type Disabled = Disabled1 | boolean | Disabled3;

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

export type Hidden1 = {
  expr: string;
};

export type Hidden = Hidden1 | boolean | Hidden3;

export type UiOptions = {
  value: string;
  label: string;
  description?: string | undefined;
  disabled?: Disabled1 | boolean | Disabled3 | undefined;
  hidden?: Hidden1 | boolean | Hidden3 | undefined;
};

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

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse2001 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesIntegrationsResponseUiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse2001
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse2003;

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

export type GetConfigurationProductsUiHiddenIntegrationsResponse2001 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesIntegrationsResponseUiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse2001
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse2003;

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

export type GetConfigurationProductsUiDisabledIntegrationsResponse2001 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesIntegrationsResponseUiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse2001
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse2003;

export type GetConfigurationProductsUiDescriptionIntegrationsResponse2002 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesIntegrationsResponseUiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse2002
  | string;

export type GetConfigurationProductsPropertiesIntegrationsResponseUiFormattedValue =
  {
    expr: string;
  };

export type Properties5 = {
  type: GetConfigurationProductsPropertiesIntegrationsResponse200Type;
  uiControl: GetConfigurationProductsPropertiesIntegrationsResponseUiControl;
  uiOptions: Array<UiOptions>;
  description?: string | undefined;
  default?: string | undefined;
  enum?: Array<string> | undefined;
  maxLength?: number | undefined;
  minLength?: number | undefined;
  pattern?: string | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse2001
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse2003
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrationsResponse2001
    | boolean
    | GetConfigurationProductsUiHiddenIntegrationsResponse2003
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrationsResponse2001
    | boolean
    | GetConfigurationProductsUiDisabledIntegrationsResponse2003
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse2002
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsResponseUiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
};

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

export const GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema4Type =
  {
    Number: "number",
  } as const;
export type GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema4Type =
  ClosedEnum<
    typeof GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema4Type
  >;

export type PropertiesItems = {
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema4Type;
  description?: string | undefined;
  minimum?: number | undefined;
  exclusiveMinimum?: number | undefined;
  maximum?: number | undefined;
  exclusiveMaximum?: number | undefined;
  default?: number | undefined;
};

export const GetConfigurationProductsPropertiesIntegrationsUiControl = {
  Slider: "slider",
} as const;
export type GetConfigurationProductsPropertiesIntegrationsUiControl =
  ClosedEnum<typeof GetConfigurationProductsPropertiesIntegrationsUiControl>;

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

export type GetConfigurationProductsUiReadOnlyIntegrationsResponse1 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesIntegrationsUiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse1
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrationsResponse3;

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

export type GetConfigurationProductsUiHiddenIntegrationsResponse1 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesIntegrationsUiHidden =
  | GetConfigurationProductsUiHiddenIntegrationsResponse1
  | boolean
  | GetConfigurationProductsUiHiddenIntegrationsResponse3;

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

export type GetConfigurationProductsUiDisabledIntegrationsResponse1 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesIntegrationsUiDisabled =
  | GetConfigurationProductsUiDisabledIntegrationsResponse1
  | boolean
  | GetConfigurationProductsUiDisabledIntegrationsResponse3;

export type GetConfigurationProductsUiDescriptionIntegrationsResponse2 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesIntegrationsUiDescription =
  | GetConfigurationProductsUiDescriptionIntegrationsResponse2
  | string;

export type GetConfigurationProductsPropertiesIntegrationsUiFormattedValue = {
  expr: string;
};

export type Properties4 = {
  type: GetConfigurationProductsPropertiesIntegrationsResponseType;
  items: PropertiesItems;
  uiControl: GetConfigurationProductsPropertiesIntegrationsUiControl;
  uiSteps: Array<number>;
  description?: string | undefined;
  maxItems?: number | undefined;
  minItems?: number | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse1
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrationsResponse3
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrationsResponse1
    | boolean
    | GetConfigurationProductsUiHiddenIntegrationsResponse3
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrationsResponse1
    | boolean
    | GetConfigurationProductsUiDisabledIntegrationsResponse3
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrationsResponse2
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesIntegrationsUiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
  default?: Array<number> | undefined;
};

export const GetConfigurationProductsPropertiesIntegrationsType = {
  Boolean: "boolean",
} as const;
export type GetConfigurationProductsPropertiesIntegrationsType = ClosedEnum<
  typeof GetConfigurationProductsPropertiesIntegrationsType
>;

export const GetConfigurationProductsPropertiesUiControl = {
  Toggle: "toggle",
} as const;
export type GetConfigurationProductsPropertiesUiControl = ClosedEnum<
  typeof GetConfigurationProductsPropertiesUiControl
>;

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

export type GetConfigurationProductsUiReadOnlyIntegrations1 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesUiReadOnly =
  | GetConfigurationProductsUiReadOnlyIntegrations1
  | boolean
  | GetConfigurationProductsUiReadOnlyIntegrations3;

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

export type GetConfigurationProductsUiHiddenIntegrations1 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesUiHidden =
  | GetConfigurationProductsUiHiddenIntegrations1
  | boolean
  | GetConfigurationProductsUiHiddenIntegrations3;

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

export type GetConfigurationProductsUiDisabledIntegrations1 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesUiDisabled =
  | GetConfigurationProductsUiDisabledIntegrations1
  | boolean
  | GetConfigurationProductsUiDisabledIntegrations3;

export type GetConfigurationProductsUiDescriptionIntegrations2 = {
  expr: string;
};

export type GetConfigurationProductsPropertiesUiDescription =
  | GetConfigurationProductsUiDescriptionIntegrations2
  | string;

export type GetConfigurationProductsPropertiesUiFormattedValue = {
  expr: string;
};

export type Properties3 = {
  type: GetConfigurationProductsPropertiesIntegrationsType;
  uiControl: GetConfigurationProductsPropertiesUiControl;
  description?: string | undefined;
  default?: boolean | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnlyIntegrations1
    | boolean
    | GetConfigurationProductsUiReadOnlyIntegrations3
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHiddenIntegrations1
    | boolean
    | GetConfigurationProductsUiHiddenIntegrations3
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabledIntegrations1
    | boolean
    | GetConfigurationProductsUiDisabledIntegrations3
    | undefined;
  uiDescription?:
    | GetConfigurationProductsUiDescriptionIntegrations2
    | string
    | undefined;
  uiFormattedValue?:
    | GetConfigurationProductsPropertiesUiFormattedValue
    | undefined;
  uiPaidOnly?: boolean | undefined;
};

export const GetConfigurationProductsPropertiesType = {
  Number: "number",
} as const;
export type GetConfigurationProductsPropertiesType = ClosedEnum<
  typeof GetConfigurationProductsPropertiesType
>;

export const PropertiesUiControl = {
  Input: "input",
} as const;
export type PropertiesUiControl = ClosedEnum<typeof PropertiesUiControl>;

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

export type GetConfigurationProductsUiReadOnly1 = {
  expr: string;
};

export type PropertiesUiReadOnly =
  | GetConfigurationProductsUiReadOnly1
  | boolean
  | GetConfigurationProductsUiReadOnly3;

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

export type GetConfigurationProductsUiHidden1 = {
  expr: string;
};

export type PropertiesUiHidden =
  | GetConfigurationProductsUiHidden1
  | boolean
  | GetConfigurationProductsUiHidden3;

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

export type GetConfigurationProductsUiDisabled1 = {
  expr: string;
};

export type PropertiesUiDisabled =
  | GetConfigurationProductsUiDisabled1
  | boolean
  | GetConfigurationProductsUiDisabled3;

export type GetConfigurationProductsUiDescription2 = {
  expr: string;
};

export type PropertiesUiDescription =
  | GetConfigurationProductsUiDescription2
  | string;

export type PropertiesUiFormattedValue = {
  expr: string;
};

export type Properties2 = {
  type: GetConfigurationProductsPropertiesType;
  uiControl: PropertiesUiControl;
  minimum?: number | undefined;
  maximum?: number | undefined;
  description?: string | undefined;
  default?: number | undefined;
  exclusiveMaximum?: number | undefined;
  exclusiveMinimum?: number | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?:
    | GetConfigurationProductsUiReadOnly1
    | boolean
    | GetConfigurationProductsUiReadOnly3
    | undefined;
  uiHidden?:
    | GetConfigurationProductsUiHidden1
    | boolean
    | GetConfigurationProductsUiHidden3
    | undefined;
  uiDisabled?:
    | GetConfigurationProductsUiDisabled1
    | boolean
    | GetConfigurationProductsUiDisabled3
    | undefined;
  uiDescription?: GetConfigurationProductsUiDescription2 | string | undefined;
  uiFormattedValue?: PropertiesUiFormattedValue | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
};

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

export const UiControl = {
  Input: "input",
} as const;
export type UiControl = ClosedEnum<typeof UiControl>;

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

export type UiReadOnly1 = {
  expr: string;
};

export type UiReadOnly = UiReadOnly1 | boolean | UiReadOnly3;

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

export type UiHidden1 = {
  expr: string;
};

export type UiHidden = UiHidden1 | boolean | UiHidden3;

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

export type UiDisabled1 = {
  expr: string;
};

export type UiDisabled = UiDisabled1 | boolean | UiDisabled3;

export type UiDescription2 = {
  expr: string;
};

export type UiDescription = UiDescription2 | string;

export type UiFormattedValue = {
  expr: string;
};

export type Properties1 = {
  type: PropertiesType;
  uiControl: UiControl;
  description?: string | undefined;
  default?: string | undefined;
  enum?: Array<string> | undefined;
  maxLength?: number | undefined;
  minLength?: number | undefined;
  pattern?: string | undefined;
  uiLabel?: string | undefined;
  uiReadOnly?: UiReadOnly1 | boolean | UiReadOnly3 | undefined;
  uiHidden?: UiHidden1 | boolean | UiHidden3 | undefined;
  uiDisabled?: UiDisabled1 | boolean | UiDisabled3 | undefined;
  uiDescription?: UiDescription2 | string | undefined;
  uiFormattedValue?: UiFormattedValue | undefined;
  uiPaidOnly?: boolean | undefined;
  uiPlaceholder?: string | undefined;
};

export type Properties =
  | Properties4
  | Properties7
  | Properties9
  | Properties5
  | Properties6
  | Properties8
  | Properties10
  | Properties1
  | Properties2
  | Properties3
  | Properties11
  | Properties12;

export type MetadataSchema = {
  type: GetConfigurationProductsType;
  properties: {
    [k: string]:
      | Properties4
      | Properties7
      | Properties9
      | Properties5
      | Properties6
      | Properties8
      | Properties10
      | Properties1
      | Properties2
      | Properties3
      | Properties11
      | Properties12;
  };
  required?: Array<string> | undefined;
  uiOrder?: Array<string> | undefined;
};

export type Products = {
  id: string;
  slug: string;
  name: string;
  protocols: Protocols;
  primaryProtocol?: PrimaryProtocol | undefined;
  metadataSchema: MetadataSchema;
};

export type GetConfigurationProductsIntegration = {
  id: string;
  slug: string;
  name: string;
};

export type GetConfigurationProductsConfiguration = {
  id: string;
};

/**
 * List of products available for this integration configuration
 */
export type GetConfigurationProductsResponseBody = {
  products: Array<Products>;
  integration: GetConfigurationProductsIntegration;
  configuration: GetConfigurationProductsConfiguration;
};

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

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

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

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

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

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

/** @internal */
export const Properties8$inboundSchema: z.ZodType<
  Properties8,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsType$inboundSchema,
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiControl$inboundSchema,
  "ui:options": z.array(
    GetConfigurationProductsPropertiesIntegrationsUiOptions$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(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiReadOnly$inboundSchema,
  ),
  "ui:hidden": types.optional(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiHidden$inboundSchema,
  ),
  "ui:disabled": types.optional(
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiDisabled$inboundSchema,
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBodyProducts2$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyUiFormattedValue$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 properties8FromJSON(
  jsonString: string,
): SafeParseResult<Properties8, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties8$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties8' from JSON`,
  );
}

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

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

/** @internal */
export const GetConfigurationProductsPropertiesItems$inboundSchema: z.ZodType<
  GetConfigurationProductsPropertiesItems,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema7Type$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 getConfigurationProductsPropertiesItemsFromJSON(
  jsonString: string,
): SafeParseResult<
  GetConfigurationProductsPropertiesItems,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      GetConfigurationProductsPropertiesItems$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'GetConfigurationProductsPropertiesItems' from JSON`,
  );
}

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const GetConfigurationProductsPropertiesUiOptions$inboundSchema:
  z.ZodType<
    GetConfigurationProductsPropertiesUiOptions,
    z.ZodTypeDef,
    unknown
  > = z.object({
    value: types.string(),
    label: types.string(),
    description: types.optional(types.string()),
    disabled: types.optional(
      smartUnion([
        z.lazy(() =>
          GetConfigurationProductsDisabledIntegrations1$inboundSchema
        ),
        types.boolean(),
        GetConfigurationProductsDisabledIntegrations3$inboundSchema,
      ]),
    ),
    hidden: types.optional(
      smartUnion([
        z.lazy(() => GetConfigurationProductsHiddenIntegrations1$inboundSchema),
        types.boolean(),
        GetConfigurationProductsHiddenIntegrations3$inboundSchema,
      ]),
    ),
  });

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const Properties7$inboundSchema: z.ZodType<
  Properties7,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyType$inboundSchema,
  items: z.lazy(() => GetConfigurationProductsPropertiesItems$inboundSchema),
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiControl$inboundSchema,
  "ui:options": z.array(
    z.lazy(() => GetConfigurationProductsPropertiesUiOptions$inboundSchema),
  ),
  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(() =>
        GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBody1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJSONResponseBody3$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJSONResponseBody2$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONUiFormattedValue$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 properties7FromJSON(
  jsonString: string,
): SafeParseResult<Properties7, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties7$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties7' from JSON`,
  );
}

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const PropertiesUiOptions$inboundSchema: z.ZodType<
  PropertiesUiOptions,
  z.ZodTypeDef,
  unknown
> = z.object({
  value: types.string(),
  label: types.string(),
  description: types.optional(types.string()),
  disabled: types.optional(
    smartUnion([
      z.lazy(() => GetConfigurationProductsDisabled1$inboundSchema),
      types.boolean(),
      GetConfigurationProductsDisabled3$inboundSchema,
    ]),
  ),
  hidden: types.optional(
    smartUnion([
      z.lazy(() => GetConfigurationProductsHidden1$inboundSchema),
      types.boolean(),
      GetConfigurationProductsHidden3$inboundSchema,
    ]),
  ),
});

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const Properties6$inboundSchema: z.ZodType<
  Properties6,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONType$inboundSchema,
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsResponse200UiControl$inboundSchema,
  "ui:options": z.array(z.lazy(() => PropertiesUiOptions$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(() =>
        GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJson1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrationsResponse200ApplicationJson3$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJson1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrationsResponse200ApplicationJson3$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJson1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrationsResponse200ApplicationJson3$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse200ApplicationJson2$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsResponse200UiFormattedValue$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 properties6FromJSON(
  jsonString: string,
): SafeParseResult<Properties6, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties6$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties6' from JSON`,
  );
}

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const UiOptions$inboundSchema: z.ZodType<
  UiOptions,
  z.ZodTypeDef,
  unknown
> = z.object({
  value: types.string(),
  label: types.string(),
  description: types.optional(types.string()),
  disabled: types.optional(
    smartUnion([
      z.lazy(() => Disabled1$inboundSchema),
      types.boolean(),
      Disabled3$inboundSchema,
    ]),
  ),
  hidden: types.optional(
    smartUnion([
      z.lazy(() => Hidden1$inboundSchema),
      types.boolean(),
      Hidden3$inboundSchema,
    ]),
  ),
});

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const Properties5$inboundSchema: z.ZodType<
  Properties5,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200Type$inboundSchema,
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsResponseUiControl$inboundSchema,
  "ui:options": z.array(z.lazy(() => UiOptions$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(() =>
        GetConfigurationProductsUiReadOnlyIntegrationsResponse2001$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrationsResponse2003$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiHiddenIntegrationsResponse2001$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrationsResponse2003$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrationsResponse2001$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrationsResponse2003$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse2002$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsResponseUiFormattedValue$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 properties5FromJSON(
  jsonString: string,
): SafeParseResult<Properties5, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties5$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties5' from JSON`,
  );
}

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

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

/** @internal */
export const PropertiesItems$inboundSchema: z.ZodType<
  PropertiesItems,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponse200ApplicationJSONResponseBodyProductsMetadataSchema4Type$inboundSchema,
  description: types.optional(types.string()),
  minimum: types.optional(types.number()),
  exclusiveMinimum: types.optional(types.number()),
  maximum: types.optional(types.number()),
  exclusiveMaximum: types.optional(types.number()),
  default: types.optional(types.number()),
});

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const Properties4$inboundSchema: z.ZodType<
  Properties4,
  z.ZodTypeDef,
  unknown
> = z.object({
  type:
    GetConfigurationProductsPropertiesIntegrationsResponseType$inboundSchema,
  items: z.lazy(() => PropertiesItems$inboundSchema),
  "ui:control":
    GetConfigurationProductsPropertiesIntegrationsUiControl$inboundSchema,
  "ui:steps": z.array(types.number()),
  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(() =>
        GetConfigurationProductsUiReadOnlyIntegrationsResponse1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrationsResponse3$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiHiddenIntegrationsResponse1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrationsResponse3$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrationsResponse1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrationsResponse3$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrationsResponse2$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesIntegrationsUiFormattedValue$inboundSchema
    ),
  ),
  "ui:paid-only": types.optional(types.boolean()),
  default: types.optional(z.array(types.number())),
}).transform((v) => {
  return remap$(v, {
    "ui:control": "uiControl",
    "ui:steps": "uiSteps",
    "ui:label": "uiLabel",
    "ui:read-only": "uiReadOnly",
    "ui:hidden": "uiHidden",
    "ui:disabled": "uiDisabled",
    "ui:description": "uiDescription",
    "ui:formatted-value": "uiFormattedValue",
    "ui:paid-only": "uiPaidOnly",
  });
});

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const Properties3$inboundSchema: z.ZodType<
  Properties3,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: GetConfigurationProductsPropertiesIntegrationsType$inboundSchema,
  "ui:control": GetConfigurationProductsPropertiesUiControl$inboundSchema,
  description: types.optional(types.string()),
  default: types.optional(types.boolean()),
  "ui:label": types.optional(types.string()),
  "ui:read-only": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiReadOnlyIntegrations1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiReadOnlyIntegrations3$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() => GetConfigurationProductsUiHiddenIntegrations1$inboundSchema),
      types.boolean(),
      GetConfigurationProductsUiHiddenIntegrations3$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDisabledIntegrations1$inboundSchema
      ),
      types.boolean(),
      GetConfigurationProductsUiDisabledIntegrations3$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() =>
        GetConfigurationProductsUiDescriptionIntegrations2$inboundSchema
      ),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() =>
      GetConfigurationProductsPropertiesUiFormattedValue$inboundSchema
    ),
  ),
  "ui:paid-only": types.optional(types.boolean()),
}).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",
  });
});

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const Properties2$inboundSchema: z.ZodType<
  Properties2,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: GetConfigurationProductsPropertiesType$inboundSchema,
  "ui:control": PropertiesUiControl$inboundSchema,
  minimum: types.optional(types.number()),
  maximum: types.optional(types.number()),
  description: types.optional(types.string()),
  default: types.optional(types.number()),
  exclusiveMaximum: types.optional(types.number()),
  exclusiveMinimum: types.optional(types.number()),
  "ui:label": types.optional(types.string()),
  "ui:read-only": types.optional(
    smartUnion([
      z.lazy(() => GetConfigurationProductsUiReadOnly1$inboundSchema),
      types.boolean(),
      GetConfigurationProductsUiReadOnly3$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() => GetConfigurationProductsUiHidden1$inboundSchema),
      types.boolean(),
      GetConfigurationProductsUiHidden3$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() => GetConfigurationProductsUiDisabled1$inboundSchema),
      types.boolean(),
      GetConfigurationProductsUiDisabled3$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([
      z.lazy(() => GetConfigurationProductsUiDescription2$inboundSchema),
      types.string(),
    ]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() => PropertiesUiFormattedValue$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 properties2FromJSON(
  jsonString: string,
): SafeParseResult<Properties2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties2' from JSON`,
  );
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/** @internal */
export const Properties1$inboundSchema: z.ZodType<
  Properties1,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: PropertiesType$inboundSchema,
  "ui:control": UiControl$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(() => UiReadOnly1$inboundSchema),
      types.boolean(),
      UiReadOnly3$inboundSchema,
    ]),
  ),
  "ui:hidden": types.optional(
    smartUnion([
      z.lazy(() => UiHidden1$inboundSchema),
      types.boolean(),
      UiHidden3$inboundSchema,
    ]),
  ),
  "ui:disabled": types.optional(
    smartUnion([
      z.lazy(() => UiDisabled1$inboundSchema),
      types.boolean(),
      UiDisabled3$inboundSchema,
    ]),
  ),
  "ui:description": types.optional(
    smartUnion([z.lazy(() => UiDescription2$inboundSchema), types.string()]),
  ),
  "ui:formatted-value": types.optional(
    z.lazy(() => UiFormattedValue$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 properties1FromJSON(
  jsonString: string,
): SafeParseResult<Properties1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => Properties1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'Properties1' from JSON`,
  );
}

/** @internal */
export const Properties$inboundSchema: z.ZodType<
  Properties,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() => Properties4$inboundSchema),
  z.lazy(() => Properties7$inboundSchema),
  Properties9$inboundSchema,
  z.lazy(() => Properties5$inboundSchema),
  z.lazy(() => Properties6$inboundSchema),
  z.lazy(() => Properties8$inboundSchema),
  Properties10$inboundSchema,
  z.lazy(() => Properties1$inboundSchema),
  z.lazy(() => Properties2$inboundSchema),
  z.lazy(() => Properties3$inboundSchema),
  Properties11$inboundSchema,
  Properties12$inboundSchema,
]);

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

/** @internal */
export const MetadataSchema$inboundSchema: z.ZodType<
  MetadataSchema,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: GetConfigurationProductsType$inboundSchema,
  properties: z.record(
    smartUnion([
      z.lazy(() => Properties4$inboundSchema),
      z.lazy(() => Properties7$inboundSchema),
      Properties9$inboundSchema,
      z.lazy(() => Properties5$inboundSchema),
      z.lazy(() => Properties6$inboundSchema),
      z.lazy(() => Properties8$inboundSchema),
      Properties10$inboundSchema,
      z.lazy(() => Properties1$inboundSchema),
      z.lazy(() => Properties2$inboundSchema),
      z.lazy(() => Properties3$inboundSchema),
      Properties11$inboundSchema,
      Properties12$inboundSchema,
    ]),
  ),
  required: types.optional(z.array(types.string())),
  "ui:order": types.optional(z.array(types.string())),
}).transform((v) => {
  return remap$(v, {
    "ui:order": "uiOrder",
  });
});

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

/** @internal */
export const Products$inboundSchema: z.ZodType<
  Products,
  z.ZodTypeDef,
  unknown
> = z.object({
  id: types.string(),
  slug: types.string(),
  name: types.string(),
  protocols: Protocols$inboundSchema,
  primaryProtocol: types.optional(PrimaryProtocol$inboundSchema),
  metadataSchema: z.lazy(() => MetadataSchema$inboundSchema),
});

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

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

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

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

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

/** @internal */
export const GetConfigurationProductsResponseBody$inboundSchema: z.ZodType<
  GetConfigurationProductsResponseBody,
  z.ZodTypeDef,
  unknown
> = z.object({
  products: z.array(z.lazy(() => Products$inboundSchema)),
  integration: z.lazy(() => GetConfigurationProductsIntegration$inboundSchema),
  configuration: z.lazy(() =>
    GetConfigurationProductsConfiguration$inboundSchema
  ),
});

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