import { ArrayExpressionNode, AssignmentExpressionNode, AngularJsAstNode, BinaryExpressionNode, CallExpressionNode, ConditionalExpressionNode, ConstantNode, ExpressionStatementNode, IdentifierNode, LiteralNode, LocalsExpressionNode, LogcalExpressionNode, MemberExpressionNode, ObjectExpressionNode, ProgramNode, PropertyNode, ThisExpressionNode, UnaryExpressionNode } from "./ast"; export declare abstract class BaseWalker { protected abstract walkArrayExpressionNode(node: ArrayExpressionNode): void; protected abstract walkAssignmentExpressionNode(node: AssignmentExpressionNode): void; protected abstract walkBinaryExpressionNode(node: BinaryExpressionNode): void; protected abstract walkCallExpressionNode(node: CallExpressionNode): void; protected abstract walkConditionalExpressionNode(node: ConditionalExpressionNode): void; protected abstract walkExpressionStatementNode(node: ExpressionStatementNode): void; protected abstract walkIdentifierNode(node: IdentifierNode): void; protected abstract walkLiteralNode(node: LiteralNode | ConstantNode): void; protected abstract walkLocalsExpressionNode(node: LocalsExpressionNode): void; protected abstract walkLogicalExpressionNode(node: LogcalExpressionNode): void; protected abstract walkMemberExpressionNode(node: MemberExpressionNode): void; protected abstract walkObjectExpressionNode(node: ObjectExpressionNode): void; protected abstract walkProgramNode(node: ProgramNode): void; protected abstract walkPropertyNode(node: PropertyNode): void; protected abstract walkThisExpressionNode(node: ThisExpressionNode): void; protected abstract walkUnaryExpressionNode(node: UnaryExpressionNode): void; protected dispatchAll(nodes: AngularJsAstNode[]): void; protected dispatch(node: AngularJsAstNode): void; walk(node: ProgramNode): void; } export declare class SkippingWalker extends BaseWalker { protected walkArrayExpressionNode(node: ArrayExpressionNode): void; protected walkAssignmentExpressionNode(node: AssignmentExpressionNode): void; protected walkBinaryExpressionNode(node: BinaryExpressionNode): void; protected walkCallExpressionNode(node: CallExpressionNode): void; protected walkConditionalExpressionNode(node: ConditionalExpressionNode): void; protected walkExpressionStatementNode(node: ExpressionStatementNode): void; protected walkIdentifierNode(_: IdentifierNode): void; protected walkLiteralNode(_: LiteralNode | ConstantNode): void; protected walkLocalsExpressionNode(_: LocalsExpressionNode): void; protected walkLogicalExpressionNode(node: LogcalExpressionNode): void; protected walkMemberExpressionNode(node: MemberExpressionNode): void; protected walkObjectExpressionNode(node: ObjectExpressionNode): void; protected walkProgramNode(node: ProgramNode): void; protected walkPropertyNode(node: PropertyNode): void; protected walkThisExpressionNode(_: ThisExpressionNode): void; protected walkUnaryExpressionNode(node: UnaryExpressionNode): void; } export declare class ExpressionToStringWalker extends BaseWalker { sb: string; protected dispatchAll(nodes: AngularJsAstNode[], seperator?: string): void; protected walkArrayExpressionNode(node: ArrayExpressionNode): void; protected walkAssignmentExpressionNode(node: AssignmentExpressionNode): void; protected walkBinaryExpressionNode(node: BinaryExpressionNode): void; protected walkCallExpressionNode(node: CallExpressionNode): void; protected walkConditionalExpressionNode(node: ConditionalExpressionNode): void; protected walkExpressionStatementNode(node: ExpressionStatementNode): void; protected walkIdentifierNode(node: IdentifierNode): void; protected walkLiteralNode(node: LiteralNode | ConstantNode): void; protected walkLocalsExpressionNode(_: LocalsExpressionNode): void; protected walkLogicalExpressionNode(node: LogcalExpressionNode): void; protected walkMemberExpressionNode(node: MemberExpressionNode): void; protected walkObjectExpressionNode(node: ObjectExpressionNode): void; protected walkProgramNode(node: ProgramNode): void; protected walkPropertyNode(node: PropertyNode): void; protected walkThisExpressionNode(_: ThisExpressionNode): void; protected walkUnaryExpressionNode(node: UnaryExpressionNode): void; walk(node: ProgramNode): string; } export declare class ExpressionFilterRectifier extends ExpressionToStringWalker { protected walkCallExpressionNode(node: CallExpressionNode): void; } export declare class ExpressionScopeRectifier extends ExpressionFilterRectifier { protected scopeNumber: number; protected localsStack: Set[]; protected nodeStack: AngularJsAstNode[]; constructor(scopeNumber: number, localsStack?: Set[]); protected getPrevious(): AngularJsAstNode | undefined; protected isAScopeIdentifier(node: IdentifierNode, parent: AngularJsAstNode): boolean; protected isALocalIdentifier(node: IdentifierNode): boolean; protected walkIdentifierNode(node: IdentifierNode): void; protected dispatch(node: AngularJsAstNode): void; }