import { AbstractCommand } from '../AbstractCommand';
import { SimplifiedPropertyType } from '../models/SimplifiedPropertyType';
import { Document } from '../../core/models/Document';
import { NodePath } from '../../core/models/NodePath';
import { IOasPropertySchema } from '../../openapi/models/IOasPropertySchema';
/**
 * A command used to create a new schema property.
 * @author eric.wittmann@gmail.com
 * @extends AbstractCommand
 * @class
 */
export declare class NewSchemaPropertyCommand extends AbstractCommand {
    _propertyName: string;
    _schemaPath: NodePath;
    _description: string;
    _newType: SimplifiedPropertyType;
    _created: boolean;
    _nullRequired: boolean;
    constructor(schema?: any, propertyName?: any, description?: any, newType?: 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;
    /**
     * Sets the property type.
     * @param {*} prop
     */
    _setPropertyType(prop: IOasPropertySchema): void;
}
