/**
 * Jupyter Notebook Tool
 *
 * Read, analyze, and edit Jupyter notebooks (.ipynb files).
 * Supports cell manipulation, execution output parsing, and code extraction.
 */
import type { ToolResult } from '../types/index.js';
export declare class NotebookTool {
    name: string;
    description: string;
    dangerLevel: 'safe' | 'low' | 'medium' | 'high';
    private vfs;
    inputSchema: {
        type: "object";
        properties: {
            action: {
                type: string;
                enum: string[];
                description: string;
            };
            path: {
                type: string;
                description: string;
            };
            cellIndex: {
                type: string;
                description: string;
            };
            cellType: {
                type: string;
                enum: string[];
                description: string;
            };
            content: {
                type: string;
                description: string;
            };
        };
        required: string[];
    };
    /**
     * Execute the notebook tool
     */
    execute(params: {
        action: 'read' | 'read_cell' | 'add_cell' | 'update_cell' | 'delete_cell' | 'extract_code' | 'summarize';
        path: string;
        cellIndex?: number;
        cellType?: 'code' | 'markdown' | 'raw';
        content?: string;
    }): Promise<ToolResult>;
    /**
     * Read entire notebook
     */
    private readNotebook;
    /**
     * Read a specific cell
     */
    private readCell;
    /**
     * Add a new cell
     */
    private addCell;
    /**
     * Update an existing cell
     */
    private updateCell;
    /**
     * Delete a cell
     */
    private deleteCell;
    /**
     * Extract all code from the notebook
     */
    private extractCode;
    /**
     * Summarize the notebook
     */
    private summarize;
    /**
     * Load notebook from file
     */
    private loadNotebook;
    /**
     * Save notebook to file
     */
    private saveNotebook;
    /**
     * Format output for display
     */
    private formatOutput;
}
export declare function getNotebookTool(): NotebookTool;
