/**
 * @author WMXPY
 * @namespace Debug_Snapshot
 * @description Snapshot
 */
import * as EST from "estree";
import { ScriptLocation } from "../../declare/script-location";
import { Scope } from "../../variable/scope";
import { Trace } from "../../variable/trace/trace";
import { MarkedDebugSnapshotLocation } from "./location";
import { MarkedDebugSnapshotNode } from "./node";
import { MarkedDebugSnapshotScope } from "./scope";
export declare class MarkedDebugSnapshot {
    static fromScopeAndNode(sourceCode: string, scope: Scope, node: EST.Node, trace: Trace): MarkedDebugSnapshot;
    private readonly _sourceCode;
    private readonly _scriptLocation;
    private readonly _scope;
    private readonly _location;
    private readonly _node;
    private constructor();
    get scope(): MarkedDebugSnapshotScope;
    get location(): MarkedDebugSnapshotLocation;
    get node(): MarkedDebugSnapshotNode;
    getScriptLocation(): ScriptLocation;
    sliceCodeClip(): string;
}
