import { Comment } from '../types/comment'; import { ASTBaseBlockWithScope, ASTLiteral } from './ast'; import { LineRegistry } from './line-registry'; export interface ParserStateSnapshot { literalsLength: number; scopesLength: number; commentsLength: number; lineRegistryItemsLength: number; } export declare class ParserState { literals: ASTLiteral[]; comments: Comment[]; scopes: ASTBaseBlockWithScope[]; lineRegistry: LineRegistry; constructor(); snapshot(): ParserStateSnapshot; restore(snapshot: ParserStateSnapshot): void; merge(other: ParserState): void; createEmpty(): ParserState; clone(): ParserState; }