import { IReferenceNode } from '../../../core/models/IReferenceNode';
import { OasHeader } from '../../models/OasHeader';
/**
 * Constructor.
 * @param {string} name
 * @class
 * @extends OasHeader
 * @author eric.wittmann@gmail.com
 */
export declare class Oas30Header extends OasHeader implements IReferenceNode {
    $ref: string;
    required: boolean;
    deprecated: boolean;
    allowEmptyValue: boolean;
    style: string;
    explode: boolean;
    allowReserved: boolean;
    schema: Oas30Schema;
    example: any;
    examples: any;
    content: any;
    constructor(name: string);
    /**
     *
     * @return {string}
     */
    getReference(): string;
    /**
     *
     * @param {string} reference
     */
    setReference(reference: string): void;
    /**
     * Creates a child items model.
     * @return {Oas30Schema}
     */
    createSchema(): Oas30Schema;
    /**
     * 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>;
    /**
     * Creates a media type.
     * @param {string} name
     * @return {Oas30MediaType}
     */
    createMediaType(name: string): Oas30MediaType;
    /**
     * Adds a media type.
     * @param {string} name
     * @param {Oas30MediaType} mediaType
     */
    addMediaType(name: string, mediaType: Oas30MediaType): void;
    /**
     * Gets a single media type by name.
     * @param {string} name
     * @return {Oas30MediaType}
     */
    getMediaType(name: string): Oas30MediaType;
    /**
     * Removes a single media type and returns it.  This may return null or undefined if none found.
     * @param {string} name
     * @return {Oas30MediaType}
     */
    removeMediaType(name: string): Oas30MediaType;
    /**
     * Gets a list of all media types.
     * @return {Oas30MediaType[]}
     */
    getMediaTypes(): Array<Oas30MediaType>;
}
import { Oas30MediaType } from './Oas30MediaType';
import { Oas30Example } from './Oas30Example';
import { Oas30Schema } from './Oas30Schema';
