import { EncodingElement } from '@swagger-api/apidom-ns-openapi-3-1';

/**
 * @public
 */
class Encoding extends EncodingElement {
  /**
   * OpenAPI 3.2: A map between a property name and its encoding information.
   * Applies nested Encoding Objects in the same manner as the Media Type Object's encoding field.
   */
  get encoding() {
    return this.get('encoding');
  }
  set encoding(encoding) {
    this.set('encoding', encoding);
  }

  /**
   * OpenAPI 3.2: An array of positional encoding information.
   * Applies nested Encoding Objects in the same manner as the Media Type Object's prefixEncoding field.
   */
  get prefixEncoding() {
    return this.get('prefixEncoding');
  }
  set prefixEncoding(prefixEncoding) {
    this.set('prefixEncoding', prefixEncoding);
  }

  /**
   * OpenAPI 3.2: A single Encoding Object that provides encoding information for array items.
   * Applies nested Encoding Objects in the same manner as the Media Type Object's itemEncoding field.
   */
  get itemEncoding() {
    return this.get('itemEncoding');
  }
  set itemEncoding(itemEncoding) {
    this.set('itemEncoding', itemEncoding);
  }
}
export default Encoding;