import { ExtensibleNode } from '../../../core/models/ExtensibleNode';
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 Oas30Encoding extends ExtensibleNode implements INamed {
    _name: string;
    contentType: string;
    headers: any;
    style: string;
    explode: boolean;
    allowReserved: boolean;
    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 header.
     * @param {string} name
     * @return {Oas30Header}
     */
    createHeader(name: string): Oas30Header;
    /**
     * Adds a header.
     * @param {string} name
     * @param {Oas30Header} header
     */
    addHeader(name: string, header: Oas30Header): void;
    /**
     * Gets a single header by name.
     * @param {string} name
     * @return {Oas30Header}
     */
    getHeader(name: string): Oas30Header;
    /**
     * Gets the header names.
     * @return {string[]}
     */
    getHeaderNames(): Array<string>;
    /**
     * Removes a single header and returns it.  This may return null or undefined if none found.
     * @param {string} name
     * @return {Oas30Header}
     */
    removeHeader(name: string): Oas30Header;
    /**
     * Gets a list of all headers.
     * @return {Oas30Header[]}
     */
    getHeaders(): Array<Oas30Header>;
}
import { Oas30Header } from './Oas30Header';
