import { JavaScriptVisitor } from "../visitor";
import { J } from "../../java";
import { Cursor, Tree } from "../../tree";
import { JS } from "../tree";
/**
* Ensures minimum viable spacing between AST elements.
* Adds required spaces where they are missing (e.g., after keywords).
*/
export declare class MinimumViableSpacingVisitor
extends JavaScriptVisitor
{
private stopAfter?;
constructor(stopAfter?: Tree | undefined);
visit(tree: Tree, p: P, parent?: Cursor): Promise;
postVisit(tree: J, p: P): Promise;
protected visitAwait(await_: JS.Await, p: P): Promise;
protected visitClassDeclaration(classDecl: J.ClassDeclaration, p: P): Promise;
protected visitMethodDeclaration(method: J.MethodDeclaration, p: P): Promise;
protected visitNamespaceDeclaration(namespaceDeclaration: JS.NamespaceDeclaration, p: P): Promise;
protected visitNewClass(newClass: J.NewClass, p: P): Promise;
protected visitReturn(returnNode: J.Return, p: P): Promise;
protected visitThrow(thrown: J.Throw, p: P): Promise;
protected visitTypeDeclaration(typeDeclaration: JS.TypeDeclaration, p: P): Promise;
protected visitTypeOf(typeOf: JS.TypeOf, p: P): Promise;
protected visitTypeParameter(typeParam: J.TypeParameter, p: P): Promise;
protected visitVariableDeclarations(v: J.VariableDeclarations, p: P): Promise;
protected visitCase(caseNode: J.Case, p: P): Promise;
private ensureSpace;
}
//# sourceMappingURL=minimum-viable-spacing-visitor.d.ts.map