import { VariableTracer } from "@nodesecure/tracer";
import type { ESTree } from "meriyah";
import { type Warning } from "./warnings.js";
import type { Dependency } from "./AstAnalyser.js";
import { Deobfuscator } from "./Deobfuscator.js";
export type SourceFlags = "fetch" | "oneline-require" | "is-minified";
export declare class SourceFile {
    tracer: VariableTracer;
    inTryStatement: boolean;
    dependencyAutoWarning: boolean;
    deobfuscator: Deobfuscator;
    dependencies: Map<string, Dependency>;
    encodedLiterals: Map<string, string>;
    warnings: Warning[];
    flags: Set<SourceFlags>;
    addDependency(name: string, location?: ESTree.SourceLocation | null, unsafe?: boolean): void;
    addEncodedLiteral(value: string, location?: ESTree.SourceLocation): void;
    analyzeLiteral(node: any, inArrayExpr?: boolean): void;
    getResult(isMinified: boolean): {
        idsLengthAvg: number;
        stringScore: number;
        warnings: Warning[];
    };
    walk(node: ESTree.Node): void;
}
//# sourceMappingURL=SourceFile.d.ts.map