import { ExtensibleNode } from '../../../core/models/ExtensibleNode';
import { IIndexedNode } from '../../../core/models/IIndexedNode';
import { IReferenceNode } from '../../../core/models/IReferenceNode';
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 Oas30Callback extends ExtensibleNode implements IIndexedNode<Oas30CallbackPathItem>, INamed, IReferenceNode {
    items: any;
    _name: string;
    $ref: string;
    constructor(name: string);
    /**
     * @see io.apicurio.datamodels.core.models.Node#accept(io.apicurio.datamodels.core.visitors.IVisitor)
     * @param {*} visitor
     */
    accept(visitor: IVisitor): void;
    /**
     * @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;
    /**
     *
     * @return {string}
     */
    getReference(): string;
    /**
     *
     * @param {string} reference
     */
    setReference(reference: string): void;
    /**
     * Returns a single path item by name.
     * @param {string} name
     * @return {Oas30CallbackPathItem}
     */
    getPathItem(name: string): Oas30CallbackPathItem;
    /**
     * Returns an array of all the path items.
     * @return {Oas30CallbackPathItem[]}
     */
    getPathItems(): Array<Oas30CallbackPathItem>;
    /**
     * Adds a path item.
     * @param {string} name
     * @param {Oas30CallbackPathItem} pathItem
     * @return {Oas30CallbackPathItem}
     */
    addPathItem(name: string, pathItem: Oas30CallbackPathItem): Oas30CallbackPathItem;
    /**
     * Gets a list of all the path names.
     * @return {string[]}
     */
    getPathItemNames(): Array<string>;
    /**
     * Removes a single path item child model by name.
     * @param {string} path
     * @return {Oas30CallbackPathItem}
     */
    removePathItem(path: string): Oas30CallbackPathItem;
    /**
     * Creates an OAS path item object.
     * @param {string} path
     * @return {Oas30CallbackPathItem}
     */
    createPathItem(path: string): Oas30CallbackPathItem;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#getItem(java.lang.String)
     * @param {string} name
     * @return {Oas30CallbackPathItem}
     */
    getItem(name: string): Oas30CallbackPathItem;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#getItems()
     * @return {Oas30CallbackPathItem[]}
     */
    getItems(): Array<Oas30CallbackPathItem>;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#getItemNames()
     * @return {string[]}
     */
    getItemNames(): Array<string>;
    addItem$java_lang_String$io_apicurio_datamodels_openapi_v3_models_Oas30CallbackPathItem(name: string, item: Oas30CallbackPathItem): void;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#addItem(java.lang.String, io.apicurio.datamodels.core.models.Node)
     * @param {string} name
     * @param {Oas30CallbackPathItem} item
     */
    addItem(name?: any, item?: any): any;
    /**
     * @see io.apicurio.datamodels.core.models.IIndexedNode#deleteItem(java.lang.String)
     * @param {string} name
     * @return {Oas30CallbackPathItem}
     */
    deleteItem(name: string): Oas30CallbackPathItem;
}
import { Oas30CallbackPathItem } from './Oas30CallbackPathItem';
