/**
 * NestedGridViewer - Nested grid/table rendering viewer
 * Wraps the existing NestedGrid component for use within the Viewer system
 */
import NestedGrid from '../NestedGrid';
import type { CellViewer, ViewerRenderContext, NestedGridViewerData } from './types';
/**
 * NestedGridViewer renders nested tables within cells
 * Delegates to the existing NestedGrid implementation
 */
declare class NestedGridViewer implements CellViewer<NestedGridViewerData> {
    readonly type = "nested";
    private gridCache;
    /**
     * Draw nested grid content in the cell
     */
    draw(context: ViewerRenderContext, data: NestedGridViewerData): void;
    /**
     * Create a new NestedGrid instance
     */
    private createNestedGrid;
    /**
     * Convert NestedColumnConfig to NestedGrid column format
     */
    private convertColumns;
    /**
     * Draw empty state - 没有数据时显示空白（与接入前 DOM 表格行为一致）
     */
    private drawEmptyState;
    /**
     * Handle click events on the nested grid
     */
    onClick(context: ViewerRenderContext, data: NestedGridViewerData, localX: number, localY: number): boolean;
    /**
     * Get the preferred height for this cell based on nested data
     */
    getPreferredHeight(context: ViewerRenderContext, data: NestedGridViewerData): number;
    /**
     * Get cached NestedGrid instance
     */
    getNestedGrid(rowIndex: number, colIndex: number): NestedGrid | undefined;
    /**
     * Get cached NestedGrid instance by custom key
     * Useful when rowIndex might change but you know the grid key pattern
     */
    getNestedGridByKey(key: string): NestedGrid | undefined;
    /**
     * Get all cached NestedGrid instances
     * Returns a Map of grid key → NestedGrid
     */
    getAllNestedGrids(): Map<string, NestedGrid>;
    /**
     * Find a cached NestedGrid by matching parent row data predicate
     * Useful when row indices shift after data changes
     */
    findNestedGrid(predicate: (grid: NestedGrid, key: string) => boolean): NestedGrid | undefined;
    /**
     * Clear cached NestedGrid instance
     */
    clearCache(rowIndex?: number, colIndex?: number): void;
}
export default NestedGridViewer;
