import { MatrixActorHtmlElement } from '../../framework/MatrixActorHtmlElement';
/**
 * JSON-compatible value type for data display.
 */
type JsonValue = string | number | boolean | null | JsonValue[] | {
    [key: string]: JsonValue;
};
/**
 * DataViewer - Displays structured data (JSON, objects, arrays).
 *
 * Accepts:
 *   - setData: { data: any, label?: string }
 *   - expandAll: {}
 *   - collapseAll: {}
 *   - copyToClipboard: {}
 *
 * Emits:
 *   - dataChanged: { data: any }
 *   - copied: {}
 */
export declare class DataViewer extends MatrixActorHtmlElement {
    static accepts: {
        setData: {
            data: string;
            label: string;
        };
        expandAll: {};
        collapseAll: {};
        copyToClipboard: {};
    };
    static emits: {
        dataChanged: {
            data: string;
        };
        copied: {};
    };
    static template: string;
    private _data;
    private _label;
    private _expanded;
    get data(): JsonValue;
    get label(): string;
    get expanded(): boolean;
    onBootstrap(): Promise<void>;
    onSetData(params: {
        data: JsonValue;
        label?: string;
    }): void;
    onExpandAll(): void;
    onCollapseAll(): void;
    onCopyToClipboard(): void;
    /**
     * Get formatted data string for display.
     * Uses smart formatting that preserves string content at any nesting level.
     */
    getFormattedData(): string;
    /**
     * Format a value for display, preserving string formatting at any depth.
     */
    private _formatValue;
    /**
     * Render the component's DOM.
     */
    render(): void;
}
export declare const DataViewerShell: typeof DataViewer;
export {};
//# sourceMappingURL=DataViewer.d.ts.map