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 { OasResponse } from '../../models/OasResponse';
import { Oas20Definitions } from '../models/Oas20Definitions';
import { Oas20Example } from '../models/Oas20Example';
import { Oas20Headers } from '../models/Oas20Headers';
import { Oas20Items } from '../models/Oas20Items';
import { Oas20ParameterDefinition } from '../models/Oas20ParameterDefinition';
import { Oas20ParameterDefinitions } from '../models/Oas20ParameterDefinitions';
import { Oas20ResponseDefinition } from '../models/Oas20ResponseDefinition';
import { Oas20ResponseDefinitions } from '../models/Oas20ResponseDefinitions';
import { Oas20Scopes } from '../models/Oas20Scopes';
import { Oas20SecurityDefinitions } from '../models/Oas20SecurityDefinitions';
/**
 * A data model reader for the OpenAPI 2.0 data model.
 * @author eric.wittmann@gmail.com
 * @class
 * @extends OasDataModelReader
 */
export declare class Oas20DataModelReader 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 the definitions.
     * @param {*} json
     * @param {Oas20Definitions} node
     */
    readDefinitions(json: any, node: Oas20Definitions): void;
    /**
     * Reads the parameter definitions.
     * @param {*} json
     * @param {Oas20ParameterDefinitions} node
     */
    readParameterDefinitions(json: any, node: Oas20ParameterDefinitions): void;
    /**
     * Reads the response definitions.
     * @param {*} json
     * @param {Oas20ResponseDefinitions} node
     */
    readResponseDefinitions(json: any, node: Oas20ResponseDefinitions): void;
    /**
     * Reads a single parameter definition.
     * @param {*} json
     * @param {Oas20ParameterDefinition} node
     */
    readParameterDefinition(json: any, node: Oas20ParameterDefinition): void;
    /**
     * Reads a single response definition.
     * @param {*} json
     * @param {Oas20ResponseDefinition} node
     */
    readResponseDefinition(json: any, node: Oas20ResponseDefinition): 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 the headers.
     * @param {*} json
     * @param {Oas20Headers} node
     */
    readHeaders(json: any, node: Oas20Headers): void;
    /**
     * Reads a single header.
     * @param {*} json
     * @param {OasHeader} node
     */
    readHeader(json: any, node: OasHeader): void;
    /**
     * Reads an example.
     * @param {*} json
     * @param {Oas20Example} node
     */
    readExample(json: any, node: Oas20Example): 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;
    /**
     * Reads an Items.
     * @param {*} json
     * @param {Oas20Items} node
     */
    readItems(json: any, node: Oas20Items): 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 the security definitions.
     * @param {*} json
     * @param {Oas20SecurityDefinitions} node
     */
    readSecurityDefinitions(json: any, node: Oas20SecurityDefinitions): 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;
    /**
     * Reads the scopes.
     * @param {*} json
     * @param {Oas20Scopes} node
     */
    readScopes(json: any, node: Oas20Scopes): 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;
}
