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 { SecurityScheme } from '../../../core/models/common/SecurityScheme';
import { OasDataModelReader } from '../../io/OasDataModelReader';
import { OasHeader } from '../../models/OasHeader';
import { OasPathItem } from '../../models/OasPathItem';
import { OasResponse } from '../../models/OasResponse';
import { Oas30Callback } from '../models/Oas30Callback';
import { Oas30Components } from '../models/Oas30Components';
import { Oas30Discriminator } from '../models/Oas30Discriminator';
import { Oas30Encoding } from '../models/Oas30Encoding';
import { Oas30Example } from '../models/Oas30Example';
import { Oas30Link } from '../models/Oas30Link';
import { Oas30MediaType } from '../models/Oas30MediaType';
import { Oas30RequestBody } from '../models/Oas30RequestBody';
/**
 * A data model reader for the OpenAPI 2.0 data model.
 * @author eric.wittmann@gmail.com
 * @class
 * @extends OasDataModelReader
 */
export declare class Oas30DataModelReader extends OasDataModelReader {
    /**
     * @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;
    /**
     * Reads a Components model.
     * @param {*} json
     * @param {Oas30Components} node
     */
    readComponents(json: any, node: Oas30Components): void;
    /**
     * @see io.apicurio.datamodels.core.io.DataModelReader#readSecurityScheme(java.lang.Object, io.apicurio.datamodels.core.models.common.SecurityScheme)
     * @param {*} json
     * @param {SecurityScheme} node
     */
    readSecurityScheme(json: any, node: SecurityScheme): void;
    /**
     * @see io.apicurio.datamodels.openapi.io.OasDataModelReader#readPathItem(java.lang.Object, io.apicurio.datamodels.openapi.models.OasPathItem)
     * @param {*} json
     * @param {OasPathItem} node
     */
    readPathItem(json: any, node: OasPathItem): void;
    /**
     * @see io.apicurio.datamodels.openapi.io.OasDataModelReader#readHeader(java.lang.Object, io.apicurio.datamodels.openapi.models.OasHeader)
     * @param {*} json
     * @param {OasHeader} node
     */
    readHeader(json: any, node: OasHeader): void;
    /**
     * @see io.apicurio.datamodels.openapi.io.OasDataModelReader#readParameter(java.lang.Object, io.apicurio.datamodels.core.models.common.Parameter)
     * @param {*} json
     * @param {Parameter} node
     */
    readParameter(json: any, node: Parameter): void;
    /**
     * @see io.apicurio.datamodels.openapi.io.OasDataModelReader#readOperation(java.lang.Object, io.apicurio.datamodels.core.models.common.Operation)
     * @param {*} json
     * @param {Operation} node
     */
    readOperation(json: any, node: Operation): void;
    /**
     * Reads an OAS 3.0 Callback object from the given JS data.
     * @param {*} json
     * @param {Oas30Callback} node
     */
    readCallback(json: any, node: Oas30Callback): void;
    /**
     * Reads an OAS 3.0 Request Body object from the given JS data.
     * @param {*} json
     * @param {Oas30RequestBody} node
     */
    readRequestBody(json: any, node: Oas30RequestBody): void;
    /**
     * Reads an OAS 3.0 Media Type from the given js data.
     * @param {*} json
     * @param {Oas30MediaType} node
     */
    readMediaType(json: any, node: Oas30MediaType): void;
    /**
     * Reads an OAS 3.0 Example from the given js data.
     * @param {*} json
     * @param {Oas30Example} node
     */
    readExample(json: any, node: Oas30Example): void;
    /**
     * Reads an OAS 3.0 Encoding from the given js data.
     * @param {*} json
     * @param {Oas30Encoding} node
     */
    readEncoding(json: any, node: Oas30Encoding): void;
    /**
     * @see io.apicurio.datamodels.openapi.io.OasDataModelReader#readResponse(java.lang.Object, io.apicurio.datamodels.openapi.models.OasResponse)
     * @param {*} json
     * @param {OasResponse} node
     */
    readResponse(json: any, node: OasResponse): void;
    /**
     * Reads an OAS 3.0 Link object from the given js data.
     * @param {*} json
     * @param {Oas30Link} node
     */
    readLink(json: any, node: Oas30Link): void;
    /**
     * @see io.apicurio.datamodels.openapi.io.OasDataModelReader#readSchema(java.lang.Object, io.apicurio.datamodels.core.models.common.Schema)
     * @param {*} json
     * @param {Schema} node
     */
    readSchema(json: any, node: Schema): void;
    /**
     * Reads an OAS 3.0 Discriminator object from the given JS data.
     * @param {*} json
     * @param {Oas30Discriminator} node
     */
    readDiscriminator(json: any, node: Oas30Discriminator): void;
}
