import { AbstractCommand } from '../AbstractCommand';
import { Document } from '../../core/models/Document';
import { Tag } from '../../core/models/common/Tag';
/**
 * A command used to create a new tag.
 * @author eric.wittmann@gmail.com
 * @extends AbstractCommand
 * @class
 */
export declare class NewTagCommand extends AbstractCommand {
    _tagName: string;
    _tagDescription: string;
    _created: boolean;
    constructor(name?: any, description?: any);
    /**
     * @see io.apicurio.datamodels.cmd.ICommand#execute(io.apicurio.datamodels.core.models.Document)
     * @param {Document} document
     */
    execute(document: Document): void;
    /**
     * @see io.apicurio.datamodels.cmd.ICommand#undo(io.apicurio.datamodels.core.models.Document)
     * @param {Document} document
     */
    undo(document: Document): void;
    /**
     * Finds a single tag by its name.  No way to do this but iterate through the
     * tags array.
     * @param {OasDocument} doc
     * @param {string} tagName
     * @return {Tag} {OasTag}
     * @param {Document} doc
     * @param {string} tagName
     * @private
     */
    findTag(doc: Document, tagName: string): Tag;
}
