import type { AstNode } from "@/types";
import type { TreeShakeOptions, TreeShakeResult } from "./types";
/**
 * Main tree-shaking implementation.
 * Removes unused function declarations from the AST.
 */
export declare class TreeShaker {
    private options;
    private entryPointCollector;
    private dependencyAnalyzer;
    constructor(options?: TreeShakeOptions);
    /**
     * Perform tree-shaking on the given AST body
     */
    shake(body: AstNode[]): TreeShakeResult;
}
//# sourceMappingURL=TreeShaker.d.ts.map