import { ASTBase, ASTBaseOptions } from './base'; export declare enum ASTIdentifierKind { Variable = "variable", Argument = "argument", ForInVariable = "for-in-variable", Property = "property" } export interface ASTIdentifierOptions extends ASTBaseOptions { name: string; kind: ASTIdentifierKind; } export declare class ASTIdentifier extends ASTBase { name: string; kind: ASTIdentifierKind; constructor(options: ASTIdentifierOptions); toString(): string; clone(): ASTIdentifier; } export interface ASTMemberExpressionOptions extends ASTBaseOptions { indexer: string; identifier: ASTBase; base: ASTBase; } export declare class ASTMemberExpression extends ASTBase { indexer: string; identifier: ASTBase; base: ASTBase; constructor(options: ASTMemberExpressionOptions); toString(): string; clone(): ASTMemberExpression; } export interface ASTIndexExpressionOptions extends ASTBaseOptions { base: ASTBase; index: ASTBase; isStatementStart: boolean; } export declare class ASTIndexExpression extends ASTBase { base: ASTBase; index: ASTBase; isStatementStart: boolean; constructor(options: ASTIndexExpressionOptions); toString(): string; clone(): ASTIndexExpression; }