import type { AfterDeclarationNode, AfterExpressionNode, ArrayExpressionNode, AssignmentExpressionNode, AssignmentPatternNode, AstNode, BinaryExpressionNode, BlockStatementNode, BreakStatementNode, CallExpressionNode, CancelStatementNode, CatchStatementNode, CommentNode, ConstantDeclarationNode, ConstantDeclaratorNode, ContinueStatementNode, CustomTypeNode, DataTypeNode, EvaluateCaseNode, EvaluateFallbackNode, EvaluateStatementNode, EventDeclarationNode, EveryDeclarationNode, EveryExpressionNode, ExpressionStatementNode, ForStatementNode, FunctionDeclarationNode, FunctionDefinitionNode, IdentifierNode, IfStatementNode, ImportDeclarationNode, InterfaceNode, InterfacePropertyDeclarationNode, LiteralUnion, MemberExpressionNode, ObjectExpressionNode, ObjectPropertyNode, OptimisedAssignmentExpressionNode, OptimisedBinaryExpressionNode, OptimisedMemberExpressionNode, OptimisedUpdateExpressionNode, ProgramDeclarationNode, ProgramPropertyDeclarationNode, RestElementNode, ReturnStatementNode, RootNode, StateDeclarationNode, UnaryExpressionNode, UpdateExpressionNode, VariableDeclarationNode, VariableDeclaratorNode, WildcardNode } from "@/types";
import type { VisitOptions } from "@/types/VisitOptions";
export declare class BattleScriptFromAST {
    _indentLevel: number;
    _filePath: string;
    _sourceCode: string;
    constructor(filePath: string, sourceCode: string);
    filePath: (newFilePath?: string) => void;
    sourceCode: (newSourceCode?: string) => void;
    getTokenLiteralText: (tokenType: number) => string | undefined;
    cleanUp(code: string): string;
    commaSeparatedList(list: AstNode[], options?: VisitOptions): string;
    getIndent(): string;
    multiLine: (...parts: (string | null)[]) => string;
    inline: (...parts: (string | null)[]) => string;
    raw: (...parts: (string | null)[]) => string;
    indent: (level?: number) => string;
    dedent: (level?: number) => string;
    newLine: (count?: number) => string;
    visit: (node: AstNode | AstNode[], options?: VisitOptions) => string;
    visitRoot(node: RootNode, options?: VisitOptions): string;
    visitProgramDeclaration(node: ProgramDeclarationNode, options: VisitOptions): string;
    visitProgramPropertyDeclaration(node: ProgramPropertyDeclarationNode, options: VisitOptions): string;
    visitInterfacePropertyDeclaration(node: InterfacePropertyDeclarationNode, options: VisitOptions): string;
    visitInterfaceDeclaration(node: InterfaceNode, options: VisitOptions): string;
    visitStateDeclaration(node: StateDeclarationNode, options: VisitOptions): string;
    visitEventDeclaration(node: EventDeclarationNode, options?: VisitOptions): string;
    visitBlockStatement(node: BlockStatementNode, options?: VisitOptions): string;
    visitExpressionStatement(node: ExpressionStatementNode, options?: VisitOptions): string;
    visitCallExpression(node: CallExpressionNode, options?: VisitOptions): string;
    visitAssignmentExpression(node: AssignmentExpressionNode, options: VisitOptions): string;
    visitOptimisedAssignmentExpression(node: OptimisedAssignmentExpressionNode, options: VisitOptions): string;
    visitBinaryExpression(node: BinaryExpressionNode, options: VisitOptions): string;
    visitOptimisedBinaryExpression(node: OptimisedBinaryExpressionNode, options: VisitOptions): string;
    visitUnaryExpression(node: UnaryExpressionNode, options: VisitOptions): string;
    visitUpdateExpression(node: UpdateExpressionNode, options: VisitOptions): string;
    visitOptimisedUpdateExpression(node: OptimisedUpdateExpressionNode, options: VisitOptions): string;
    visitMemberExpression(node: MemberExpressionNode, options: VisitOptions): string;
    visitOptimisedMemberExpression(node: OptimisedMemberExpressionNode, options: VisitOptions): string;
    visitRestElement(node: RestElementNode, options: VisitOptions): string;
    visitFunctionDeclaration(node: FunctionDeclarationNode, options: VisitOptions): string;
    visitFunctionDefinition(node: FunctionDefinitionNode, options: VisitOptions): string;
    visitIfStatement(node: IfStatementNode, options: VisitOptions): string;
    visitForStatement(node: ForStatementNode, options: VisitOptions): string;
    visitContinueStatement(node: ContinueStatementNode, options: VisitOptions): string;
    visitBreakStatement(node: BreakStatementNode, options: VisitOptions): string;
    visitEvaluateStatement(node: EvaluateStatementNode, options: VisitOptions): string;
    visitEvaluateCase(node: EvaluateCaseNode, options: VisitOptions): string;
    visitEvaluateFallback(node: EvaluateFallbackNode, options: VisitOptions): string;
    visitConstantDeclaration(node: ConstantDeclarationNode, options?: VisitOptions): string;
    visitConstantDeclarator(node: ConstantDeclaratorNode, options?: VisitOptions): string;
    visitVariableDeclaration(node: VariableDeclarationNode, options?: VisitOptions): string;
    visitVariableDeclarator(node: VariableDeclaratorNode, options?: VisitOptions): string;
    visitIdentifier(node: IdentifierNode, options: VisitOptions): string;
    visitDataType(node: DataTypeNode, options: VisitOptions): string;
    visitCustomType(node: CustomTypeNode, options: VisitOptions): string;
    visitFunctionParameter(node: AssignmentPatternNode, options: VisitOptions): string;
    visitCatchStatement(node: CatchStatementNode, options: VisitOptions): string;
    visitComment(node: CommentNode, options: VisitOptions): string;
    visitReturn(node: ReturnStatementNode, options: VisitOptions): string;
    visitLiteral(node: LiteralUnion, options: VisitOptions): string;
    visitArrayExpression(node: ArrayExpressionNode, options: VisitOptions): string;
    visitObjectExpression(node: ObjectExpressionNode, options: VisitOptions): string;
    visitObjectProperty(node: ObjectPropertyNode, options: VisitOptions): string;
    visitEveryExpression(node: EveryExpressionNode, options?: VisitOptions): string;
    visitEveryDeclaration(node: EveryDeclarationNode, options?: VisitOptions): string;
    visitAfterExpression(node: AfterExpressionNode, options?: VisitOptions): string;
    visitAfterDeclaration(node: AfterDeclarationNode, options?: VisitOptions): string;
    visitCancelStatement(node: CancelStatementNode, options?: VisitOptions): string;
    visitImportDeclaration(node: ImportDeclarationNode, options?: VisitOptions): string;
    visitWildcard(node: WildcardNode, options: VisitOptions): string;
}
//# sourceMappingURL=BattleScriptFromAST.d.ts.map