/**
 * SQL Tool
 *
 * Execute SQL queries on SQLite databases.
 * Supports read operations and controlled write operations.
 */
import type { ToolResult } from '../types/index.js';
interface SQLParams {
    action: 'query' | 'schema' | 'tables' | 'describe' | 'execute';
    database: string;
    query?: string;
    table?: string;
    params?: unknown[];
}
export declare class SQLTool {
    name: string;
    description: string;
    dangerLevel: 'safe' | 'low' | 'medium' | 'high';
    private vfs;
    inputSchema: {
        type: "object";
        properties: {
            action: {
                type: string;
                enum: string[];
                description: string;
            };
            database: {
                type: string;
                description: string;
            };
            query: {
                type: string;
                description: string;
            };
            table: {
                type: string;
                description: string;
            };
            params: {
                type: string;
                description: string;
            };
        };
        required: string[];
    };
    /**
     * Validate that the database path is safe (no path traversal attacks)
     */
    private validateDatabasePath;
    /**
     * Execute SQL operation
     */
    execute(params: SQLParams): Promise<ToolResult>;
    /**
     * List all tables
     */
    private listTables;
    /**
     * Get full schema
     */
    private getSchema;
    /**
     * Describe a specific table
     */
    private describeTable;
    /**
     * Run SELECT query
     */
    private runQuery;
    /**
     * Execute modification statement (INSERT, UPDATE, DELETE)
     */
    private executeStatement;
}
export declare function getSQLTool(): SQLTool;
export {};
