import { JsonPathBrowserConfig } from './types';
export type { JsonPathBrowserConfig } from './types';
export declare class JsonPathBrowser {
    private readonly container;
    private readonly config;
    private readonly instanceId;
    private data;
    private pathBarEl;
    private searchInputEl;
    private treeEl;
    private nodeStates;
    private searchQuery;
    private selectedPath;
    constructor(config: JsonPathBrowserConfig);
    /** Replace the JSON data and re-render */
    update(data: unknown): void;
    /** Expand all nodes */
    expandAll(): void;
    /** Collapse all nodes */
    collapseAll(): void;
    /** Set the search query and highlight matches */
    search(query: string): void;
    /** Remove the component from the DOM and clean up */
    destroy(): void;
    /** Recursively set all composite nodes as expanded */
    private initExpandedStates;
    /** Expand paths that contain matching keys or values */
    private expandMatchingPaths;
    /** Whether a node is expanded */
    private isExpanded;
    /** Toggle the expanded state of a node */
    private toggleNode;
    /** Check if a key or value matches the search */
    private matchesSearch;
    /** Render the entire component */
    private render;
    /** Render only the tree portion */
    private renderTree;
    /** Build a tree node element recursively */
    private buildNode;
    /** Build a composite (object/array) node */
    private buildCompositeNode;
    /** Build a leaf (primitive) node */
    private buildLeafNode;
    /** Select a node path and update the path bar */
    private selectPath;
}
//# sourceMappingURL=index.d.ts.map