declare module "wix-custom-fields-schema.v2" {
  const __debug: {
      verboseLogging: {
          on: () => boolean;
          off: () => boolean;
      };
  };
  /** DataExtensionSchema is the main entity of DataExtensionSchemaService */
  interface DataExtensionSchema {
      /**
       * Unique identifier for a schema
       * @readonly
       */
      _id?: string | null;
      /** FQDN of the entity that this schema extends */
      fqdn?: string | null;
      /**
       * Namespace of this extension. may be:
       * `@company/app1`
       * An app in dev-center that defines this extension for itself.
       * `_user_fields`
       * A user that defines this extension for self usage.
       */
      namespace?: string | null;
      /**
       * Actual schema definition of this extension is JSON-SCHEMA format with the following vocab extension:
       * ```
       * {
       * "$schema": "https://json-schema.org/draft/2020-12/schema",
       * "$id": "https://wixapis.com/v1/json-schema/extensions",
       * "$vocabulary": {
       * "https://wixapis.com/v1/json-schema/extensions/vocab/data-extensions": true
       * },
       * "$dynamicAnchor": "meta",
       * "title": "Wix' data-extensions vocabulary meta schema",
       * "type": [
       * "object",
       * "boolean"
       * ],
       * "properties": {
       * "x-wix-permissions": {
       * "type": "object",
       * "description": "list of identity types that are allowed reading schema properties",
       * "properties": {
       * "read": {
       * "type": "array",
       * "items": {
       * "type": "string",
       * "enum": [
       * "apps",
       * "owning-app",
       * "users",
       * "users-of-users"
       * ]
       * }
       * },
       * "write": {
       * "type": "array",
       * "items": {
       * "type": "string",
       * "enum": [
       * "apps",
       * "owning-app",
       * "users",
       * "users-of-users"
       * ]
       * }
       * }
       * }
       * },
       * "x-wix-display": {
       * "type": "object",
       * "description": "field display properties",
       * "schema": {
       * "properties": {
       * "placeholder": {
       * "type": "string",
       * "maxLength": 255,
       * "description": "placeholder text for input fields"
       * },
       * "label": {
       * "type": "string",
       * "maxLength": 255,
       * "description": "label of the input fields"
       * },
       * "hint": {
       * "type": "string",
       * "maxLength": 255,
       * "description": "a short explanation that appears next to the input field"
       * }
       * }
       * }
       * }
       * }
       * }
       * ```
       */
      jsonSchema?: Record<string, any> | null;
      /**
       * last updated
       * @readonly
       */
      _updatedDate?: Date;
      /**
       * creation date
       * @readonly
       */
      _createdDate?: Date;
      /**
       * revision of data record
       * @readonly
       */
      revision?: string | null;
      /**
       * app def if of the app in the given namespace
       * @internal
       * @readonly
       */
      appDefId?: string | null;
      /**
       * Maximum allowed schema size in bytes
       * @readonly
       */
      maxLimitBytes?: number | null;
      /**
       * Current schema size in bytes
       * @readonly
       */
      currentSizeBytes?: number | null;
  }
  interface CreateDataExtensionSchemaRequest {
      /** the schema to create */
      dataExtensionSchema: DataExtensionSchema;
  }
  interface CreateDataExtensionSchemaResponse {
      /** the created schema */
      dataExtensionSchema?: DataExtensionSchema;
  }
  interface UpdateDataExtensionSchemaRequest {
      /** the schema to update */
      dataExtensionSchema?: DataExtensionSchema;
  }
  interface UpdateDataExtensionSchemaResponse {
      /** the updated schema */
      dataExtensionSchema?: DataExtensionSchema;
  }
  interface ListDataExtensionSchemasRequest {
      /** fqdn */
      fqdn: string;
      /** namespaces */
      namespaces?: string[];
      /** Shows additional requested fields */
      fields?: RequestedField[];
  }
  enum RequestedField {
      /** Doesn't do anything */
      UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
      /** Shows x-wix-archived fields in DataExtensionSchema.json_schema */
      ARCHIVED = "ARCHIVED"
  }
  interface ListDataExtensionSchemasResponse {
      /** resulted schemas */
      dataExtensionSchemas?: DataExtensionSchema[];
  }
  interface UpsertDataExtensionGlobalSchemaRequest {
      /** the upsert to create */
      dataExtensionSchema?: DataExtensionSchema;
  }
  interface UpsertDataExtensionGlobalSchemaResponse {
      /** the upsert schema */
      dataExtensionSchema?: DataExtensionSchema;
  }
  interface DeleteDemoDataExtensionSchemaRequest {
      /** schema id */
      dataExtensionSchemaId?: string;
  }
  interface DeleteDemoDataExtensionSchemaResponse {
  }
  interface EnrichAndSaveDataExtensionSchemaRequest {
      /** schema id */
      dataExtensionSchemaId: string;
      /** tenant id */
      tenantId?: string;
  }
  interface EnrichAndSaveDataExtensionSchemaResponse {
      /** the updated schema */
      dataExtensionSchema?: DataExtensionSchema;
  }
  interface DeleteByWhiteListedMetaSiteRequest {
      metaSiteId: string;
  }
  interface DeleteByWhiteListedMetaSiteResponse {
      hasMore?: boolean;
  }
  /**
   * Creates a new data extension schema
   *
   * This function is not a universal function and runs only on the backend.
   * @param dataExtensionSchema - the schema to create
   * @internal
   * @documentationMaturity preview
   * @requiredField dataExtensionSchema
   * @requiredField dataExtensionSchema.fqdn
   * @requiredField dataExtensionSchema.jsonSchema
   * @requiredField dataExtensionSchema.namespace
   * @adminMethod
   * @returns the created schema
   */
  function createDataExtensionSchema(dataExtensionSchema: DataExtensionSchema): Promise<DataExtensionSchema>;
  /**
   * Updates an existing data extension schema
   *
   * This function is not a universal function and runs only on the backend.
   * @internal
   * @documentationMaturity preview
   * @requiredField options.dataExtensionSchema._id
   * @requiredField options.dataExtensionSchema.jsonSchema
   * @requiredField options.dataExtensionSchema.revision
   * @adminMethod
   */
  function updateDataExtensionSchema(options?: UpdateDataExtensionSchemaOptions): Promise<UpdateDataExtensionSchemaResponse>;
  interface UpdateDataExtensionSchemaOptions {
      /** the schema to update */
      dataExtensionSchema?: DataExtensionSchema;
  }
  /**
   * Lists both global and user defined data extensions schema for the fqdn
   * @param fqdn - fqdn
   * @internal
   * @documentationMaturity preview
   * @requiredField fqdn
   */
  function listDataExtensionSchemas(fqdn: string, options?: ListDataExtensionSchemasOptions): Promise<ListDataExtensionSchemasResponse>;
  interface ListDataExtensionSchemasOptions {
      /** namespaces */
      namespaces?: string[];
      /** Shows additional requested fields */
      fields?: RequestedField[];
  }
  /**
   * Enrich and save existing data extension schema (temporary endpoint for data migration)
   *
   * This function is not a universal function and runs only on the backend.
   * @param dataExtensionSchemaId - schema id
   * @internal
   * @documentationMaturity preview
   * @requiredField dataExtensionSchemaId
   * @adminMethod
   */
  function enrichAndSaveDataExtensionSchema(dataExtensionSchemaId: string, options?: EnrichAndSaveDataExtensionSchemaOptions): Promise<EnrichAndSaveDataExtensionSchemaResponse>;
  interface EnrichAndSaveDataExtensionSchemaOptions {
      /** tenant id */
      tenantId?: string;
  }
  /**
   * This function is not a universal function and runs only on the backend.
   * @internal
   * @documentationMaturity preview
   * @requiredField metaSiteId
   * @adminMethod
   */
  function deleteByWhiteListedMetaSite(metaSiteId: string): Promise<DeleteByWhiteListedMetaSiteResponse>;
  
  const dataExtensionsV1DataExtensionSchema_universal_d___debug: typeof __debug;
  type dataExtensionsV1DataExtensionSchema_universal_d_DataExtensionSchema = DataExtensionSchema;
  type dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaRequest = CreateDataExtensionSchemaRequest;
  type dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaResponse = CreateDataExtensionSchemaResponse;
  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaRequest = UpdateDataExtensionSchemaRequest;
  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaResponse = UpdateDataExtensionSchemaResponse;
  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasRequest = ListDataExtensionSchemasRequest;
  type dataExtensionsV1DataExtensionSchema_universal_d_RequestedField = RequestedField;
  const dataExtensionsV1DataExtensionSchema_universal_d_RequestedField: typeof RequestedField;
  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasResponse = ListDataExtensionSchemasResponse;
  type dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaRequest = UpsertDataExtensionGlobalSchemaRequest;
  type dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaResponse = UpsertDataExtensionGlobalSchemaResponse;
  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaRequest = DeleteDemoDataExtensionSchemaRequest;
  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaResponse = DeleteDemoDataExtensionSchemaResponse;
  type dataExtensionsV1DataExtensionSchema_universal_d_EnrichAndSaveDataExtensionSchemaRequest = EnrichAndSaveDataExtensionSchemaRequest;
  type dataExtensionsV1DataExtensionSchema_universal_d_EnrichAndSaveDataExtensionSchemaResponse = EnrichAndSaveDataExtensionSchemaResponse;
  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteRequest = DeleteByWhiteListedMetaSiteRequest;
  type dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteResponse = DeleteByWhiteListedMetaSiteResponse;
  const dataExtensionsV1DataExtensionSchema_universal_d_createDataExtensionSchema: typeof createDataExtensionSchema;
  const dataExtensionsV1DataExtensionSchema_universal_d_updateDataExtensionSchema: typeof updateDataExtensionSchema;
  type dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaOptions = UpdateDataExtensionSchemaOptions;
  const dataExtensionsV1DataExtensionSchema_universal_d_listDataExtensionSchemas: typeof listDataExtensionSchemas;
  type dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasOptions = ListDataExtensionSchemasOptions;
  const dataExtensionsV1DataExtensionSchema_universal_d_enrichAndSaveDataExtensionSchema: typeof enrichAndSaveDataExtensionSchema;
  type dataExtensionsV1DataExtensionSchema_universal_d_EnrichAndSaveDataExtensionSchemaOptions = EnrichAndSaveDataExtensionSchemaOptions;
  const dataExtensionsV1DataExtensionSchema_universal_d_deleteByWhiteListedMetaSite: typeof deleteByWhiteListedMetaSite;
  namespace dataExtensionsV1DataExtensionSchema_universal_d {
    export {
      dataExtensionsV1DataExtensionSchema_universal_d___debug as __debug,
      dataExtensionsV1DataExtensionSchema_universal_d_DataExtensionSchema as DataExtensionSchema,
      dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaRequest as CreateDataExtensionSchemaRequest,
      dataExtensionsV1DataExtensionSchema_universal_d_CreateDataExtensionSchemaResponse as CreateDataExtensionSchemaResponse,
      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaRequest as UpdateDataExtensionSchemaRequest,
      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaResponse as UpdateDataExtensionSchemaResponse,
      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasRequest as ListDataExtensionSchemasRequest,
      dataExtensionsV1DataExtensionSchema_universal_d_RequestedField as RequestedField,
      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasResponse as ListDataExtensionSchemasResponse,
      dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaRequest as UpsertDataExtensionGlobalSchemaRequest,
      dataExtensionsV1DataExtensionSchema_universal_d_UpsertDataExtensionGlobalSchemaResponse as UpsertDataExtensionGlobalSchemaResponse,
      dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaRequest as DeleteDemoDataExtensionSchemaRequest,
      dataExtensionsV1DataExtensionSchema_universal_d_DeleteDemoDataExtensionSchemaResponse as DeleteDemoDataExtensionSchemaResponse,
      dataExtensionsV1DataExtensionSchema_universal_d_EnrichAndSaveDataExtensionSchemaRequest as EnrichAndSaveDataExtensionSchemaRequest,
      dataExtensionsV1DataExtensionSchema_universal_d_EnrichAndSaveDataExtensionSchemaResponse as EnrichAndSaveDataExtensionSchemaResponse,
      dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteRequest as DeleteByWhiteListedMetaSiteRequest,
      dataExtensionsV1DataExtensionSchema_universal_d_DeleteByWhiteListedMetaSiteResponse as DeleteByWhiteListedMetaSiteResponse,
      dataExtensionsV1DataExtensionSchema_universal_d_createDataExtensionSchema as createDataExtensionSchema,
      dataExtensionsV1DataExtensionSchema_universal_d_updateDataExtensionSchema as updateDataExtensionSchema,
      dataExtensionsV1DataExtensionSchema_universal_d_UpdateDataExtensionSchemaOptions as UpdateDataExtensionSchemaOptions,
      dataExtensionsV1DataExtensionSchema_universal_d_listDataExtensionSchemas as listDataExtensionSchemas,
      dataExtensionsV1DataExtensionSchema_universal_d_ListDataExtensionSchemasOptions as ListDataExtensionSchemasOptions,
      dataExtensionsV1DataExtensionSchema_universal_d_enrichAndSaveDataExtensionSchema as enrichAndSaveDataExtensionSchema,
      dataExtensionsV1DataExtensionSchema_universal_d_EnrichAndSaveDataExtensionSchemaOptions as EnrichAndSaveDataExtensionSchemaOptions,
      dataExtensionsV1DataExtensionSchema_universal_d_deleteByWhiteListedMetaSite as deleteByWhiteListedMetaSite,
    };
  }
  
  export { dataExtensionsV1DataExtensionSchema_universal_d as schemas };
}
