import { IIndexedNode } from '../../../core/models/IIndexedNode';
import { Node } from '../../../core/models/Node';
import { IVisitor } from '../../../core/visitors/IVisitor';
/**
 * Constructor.
 * @class
 * @extends Node
 * @author eric.wittmann@gmail.com
 */
export declare class Oas20Definitions extends Node implements IIndexedNode<Oas20SchemaDefinition> {
    items: any;
    constructor();
    /**
     * @see io.apicurio.datamodels.core.models.Node#accept(io.apicurio.datamodels.core.visitors.IVisitor)
     * @param {*} visitor
     */
    accept(visitor: IVisitor): void;
    /**
     * Returns a single definition schema by name.
     * @param {string} name
     * @return {Oas20SchemaDefinition}
     */
    getDefinition(name: string): Oas20SchemaDefinition;
    /**
     * Returns an array of all the definitions.
     * @return {Oas20SchemaDefinition[]}
     */
    getDefinitions(): Array<Oas20SchemaDefinition>;
    /**
     * Adds a definition.
     * @param {string} name
     * @param {Oas20SchemaDefinition} schema
     * @return {Oas20SchemaDefinition}
     */
    addDefinition(name: string, schema: Oas20SchemaDefinition): Oas20SchemaDefinition;
    /**
     * Removes a definition by name.
     * @param {string} name
     * @return {Oas20SchemaDefinition}
     */
    removeDefinition(name: string): Oas20SchemaDefinition;
    /**
     * Gets a list of all the definition names.
     * @return {string[]}
     */
    getDefinitionNames(): Array<string>;
    /**
     * Creates an OAS 2.0 Schema object.
     * @param {string} name
     * @return {Oas20SchemaDefinition}
     */
    createSchemaDefinition(name: string): Oas20SchemaDefinition;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#getItem(java.lang.String)
     * @param {string} name
     * @return {Oas20SchemaDefinition}
     */
    getItem(name: string): Oas20SchemaDefinition;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#getItems()
     * @return {Oas20SchemaDefinition[]}
     */
    getItems(): Array<Oas20SchemaDefinition>;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#getItemNames()
     * @return {string[]}
     */
    getItemNames(): Array<string>;
    addItem$java_lang_String$io_apicurio_datamodels_openapi_v2_models_Oas20SchemaDefinition(name: string, item: Oas20SchemaDefinition): void;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#addItem(java.lang.String, io.apicurio.datamodels.core.models.Node)
     * @param {string} name
     * @param {Oas20SchemaDefinition} item
     */
    addItem(name?: any, item?: any): any;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#deleteItem(java.lang.String)
     * @param {string} name
     * @return {Oas20SchemaDefinition}
     */
    deleteItem(name: string): Oas20SchemaDefinition;
}
import { Oas20SchemaDefinition } from './Oas20SchemaDefinition';
