import { AaiChannelItem } from '../../asyncapi/models/AaiChannelItem'; import { Aai20NodeFactory } from '../../asyncapi/v2/models/Aai20NodeFactory'; import { AbstractCommand } from '../AbstractCommand'; import { Document } from '../../core/models/Document'; /** * A command used to rename a channel item, along with all references to it. * @author c.desc2@gmail.com * @extends AbstractCommand * @class */ export declare class RenameChannelItemCommand extends AbstractCommand { _oldChannelName: string; _newChannelName: string; _channelExisted: boolean; _nullParams: boolean; _paramBin: any; _nodeFactory: Aai20NodeFactory; constructor(oldChannelName?: any, newChannelName?: any); /** * @see io.apicurio.datamodels.cmd.ICommand#execute(Document) * @param {Document} document */ execute(document: Document): void; /** * @see io.apicurio.datamodels.cmd.ICommand#undo(Document) * @param {Document} document */ undo(document: Document): void; /** * Does the work of renaming parameters for an aai channel. * * @param {AaiChannelItem} aaiChannel * @param {string} from * @param {string} to * @private * @private */ _doParametersRename(aaiChannel: AaiChannelItem, from: string, to: string): void; /** * Preprocesses the parameter renames mapping * * @param {string[]} fromChannelParamNames the original channel parameter names * @param {string[]} toChannelParamNames the new channel parameter names * @return {Array[]} a collection of [oldName, newName] pairs, null values mark fields as inexistent on either side * @private */ _processPathParameterRenames(fromChannelParamNames: Array, toChannelParamNames: Array): Array; /** * Create a channel parameter. * * @param {AaiChannelItem} channel * @param {string} paramName * @private */ _createChannelParameter(channel: AaiChannelItem, paramName: string): void; /** * Rename a channel parameter. * * @param {AaiChannelItem} channel * @param {string} fromParamName * @param {string} toParamName * @private */ _renameChannelParameter(channel: AaiChannelItem, fromParamName: string, toParamName: string): void; /** * Remove a channel parameter. * * @param {AaiChannelItem} channel * @param {string} paramName * @private */ _removeChannelParameter(channel: AaiChannelItem, paramName: string): void; }