import { IRemoverBase } from "./i-remover"; import { IUpdater } from "../updater/i-updater-getter"; import { ClassDeclaration, ClassElement, ClassExpression, Decorator, Node } from "typescript"; import { IFormatter } from "../formatter/i-formatter-getter"; /** * A class that can remove Nodes */ export declare class Remover implements IRemoverBase { private readonly formatter; private readonly updater; constructor(formatter: IFormatter, updater: IUpdater); /** * Removes all of the provided ClassElements from the provided ClassDeclaration. If none is provided, * all members will be removed * @param {Iterable} classElements * @param {ClassDeclaration | ClassExpression} classDeclaration * @returns {boolean} */ removeClassDeclarationMembers(classDeclaration: ClassDeclaration | ClassExpression, classElements?: Iterable): boolean; /** * Removes all decorators from the provided Node. If no decorators are provided, all of them will be removed * @param {T} node * @param {Iterable} decorators * @returns {boolean} */ removeDecorators(node: T, decorators?: Iterable): boolean; }