import { DataModelReader } from '../../core/io/DataModelReader';
import { Document } from '../../core/models/Document';
import { Operation } from '../../core/models/common/Operation';
import { Parameter } from '../../core/models/common/Parameter';
import { Schema } from '../../core/models/common/Schema';
import { OasHeader } from '../models/OasHeader';
import { OasPathItem } from '../models/OasPathItem';
import { OasPaths } from '../models/OasPaths';
import { OasResponse } from '../models/OasResponse';
import { OasResponses } from '../models/OasResponses';
import { OasXML } from '../models/OasXML';
/**
 * A data model reader for the OpenAPI data model.
 * @author eric.wittmann@gmail.com
 * @class
 * @extends DataModelReader
 */
export declare abstract class OasDataModelReader extends DataModelReader {
    /**
     * @see io.apicurio.datamodels.core.io.DataModelReader#readDocument(java.lang.Object, io.apicurio.datamodels.core.models.Document)
     * @param {*} json
     * @param {Document} node
     */
    readDocument(json: any, node: Document): void;
    /**
     * Read the paths.
     * @param {*} json
     * @param {OasPaths} node
     */
    readPaths(json: any, node: OasPaths): void;
    /**
     * Reads a path item.
     * @param {*} json
     * @param {OasPathItem} node
     */
    readPathItem(json: any, node: OasPathItem): void;
    /**
     * Reads a single operation.
     * @param {*} json
     * @param {Operation} node
     */
    readOperation(json: any, node: Operation): void;
    /**
     * Reads the responses.
     * @param {*} json
     * @param {OasResponses} node
     */
    readResponses(json: any, node: OasResponses): void;
    /**
     * @see io.apicurio.datamodels.core.io.DataModelReader#readSchema(java.lang.Object, io.apicurio.datamodels.core.models.common.Schema)
     * @param {*} json
     * @param {Schema} node
     */
    readSchema(json: any, node: Schema): void;
    /**
     * Reads an XML.
     * @param {*} json
     * @param {OasXML} node
     */
    readXML(json: any, node: OasXML): void;
    /**
     * @see io.apicurio.datamodels.core.io.DataModelReader#readParameter(java.lang.Object, io.apicurio.datamodels.core.models.common.Parameter)
     * @param {*} json
     * @param {Parameter} node
     */
    readParameter(json: any, node: Parameter): void;
    /**
     * Reads a single response.
     * @param {*} json
     * @param {OasResponse} node
     */
    readResponse(json: any, node: OasResponse): void;
    /**
     * Reads a single header.
     * @param {*} json
     * @param {OasHeader} node
     */
    readHeader(json: any, node: OasHeader): void;
}
