export declare class JsonViewer {
    data: string | object;
    viewMode: 'tree' | 'code';
    maxHeight: number;
    showLineNumbers: boolean;
    expandAll: boolean;
    theme: 'light' | 'dark' | 'system';
    currentViewMode: 'tree' | 'code';
    expandedNodes: Set<string>;
    parsedData: unknown;
    error: string | null;
    copied: boolean;
    isDarkMode: boolean;
    private darkModeMediaQuery;
    handleDataChange(): void;
    handleViewModeChange(): void;
    handleExpandAllChange(): void;
    handleThemeChange(): void;
    componentWillLoad(): void;
    disconnectedCallback(): void;
    expandAllNodes(): Promise<void>;
    collapseAllNodes(): Promise<void>;
    render(): any;
    private parseData;
    private sanitizeData;
    private toggleView;
    private copyToClipboard;
    private createFallbackCopyMethod;
    private cleanupDarkModeListener;
    private expandNodeRecursive;
    private initializeDarkMode;
    private handleDarkModeChange;
    private updateDarkMode;
    private renderTreeNode;
    private formatCodeLine;
}
