import { ExtensibleNode } from '../../../core/models/ExtensibleNode';
import { IExampleParent } from '../../../core/models/common/IExampleParent';
import { INamed } from '../../../core/models/common/INamed';
import { IVisitor } from '../../../core/visitors/IVisitor';
/**
 * Constructor.
 * @param {string} name
 * @class
 * @extends ExtensibleNode
 * @author eric.wittmann@gmail.com
 */
export declare class Oas30MediaType extends ExtensibleNode implements INamed, IExampleParent {
    _name: string;
    schema: Oas30Schema;
    example: any;
    examples: any;
    encoding: any;
    constructor(name: string);
    /**
     * @see io.apicurio.datamodels.core.models.common.INamed#getName()
     * @return {string}
     */
    getName(): string;
    /**
     * @see io.apicurio.datamodels.core.models.common.INamed#rename(java.lang.String)
     * @param {string} newName
     */
    rename(newName: string): void;
    /**
     * @see io.apicurio.datamodels.core.models.Node#accept(io.apicurio.datamodels.core.visitors.IVisitor)
     * @param {*} visitor
     */
    accept(visitor: IVisitor): void;
    /**
     * Creates a child schema model.
     * @return {Oas30Schema}
     */
    createSchema(): Oas30Schema;
    /**
     * Creates a encoding.
     * @param {string} name
     * @return {Oas30Encoding}
     */
    createEncoding(name: string): Oas30Encoding;
    /**
     * Adds a encoding.
     * @param {string} name
     * @param {Oas30Encoding} encoding
     */
    addEncoding(name: string, encoding: Oas30Encoding): void;
    /**
     * Gets a single encoding by name.
     * @param {string} name
     * @return {Oas30Encoding}
     */
    getEncoding(name: string): Oas30Encoding;
    /**
     * Removes a single encoding and returns it.  This may return null or undefined if none found.
     * @param {string} name
     * @return {Oas30Encoding}
     */
    removeEncoding(name: string): Oas30Encoding;
    /**
     * Gets a list of all encodings.
     * @return {Oas30Encoding[]}
     */
    getEncodings(): Array<Oas30Encoding>;
    /**
     * Creates a child Example model.
     * @param {string} name
     * @return {Oas30Example}
     */
    createExample(name: string): Oas30Example;
    /**
     * Adds the Example to the map of examples.
     * @param {Oas30Example} example
     */
    addExample(example: Oas30Example): void;
    /**
     * Removes an Example and returns it.
     * @param {string} name
     * @return {Oas30Example}
     */
    removeExample(name: string): Oas30Example;
    /**
     * Gets a single example by name.
     * @param {string} name
     * @return {Oas30Example}
     */
    getExample(name: string): Oas30Example;
    /**
     * Gets all examples.
     * @return {Oas30Example[]}
     */
    getExamples(): Array<Oas30Example>;
}
import { Oas30Encoding } from './Oas30Encoding';
import { Oas30Example } from './Oas30Example';
import { Oas30Schema } from './Oas30Schema';
