import { ToolCapability } from '../../../types/mcp-config'; /** * @interface CloudSQLConfig * @description Configuration for Google Cloud SQL operations. */ export interface CloudSQLConfig { instanceName: string; databaseName: string; projectID: string; region: string; } /** * @interface CloudSQLOperations * @description Defines the operations available for Google Cloud SQL. */ export interface CloudSQLOperations { executeQuery(query: string, params?: any[]): Promise; manageInstance(action: 'start' | 'stop' | 'restart' | 'resize', options?: any): Promise; configureDatabase(config: { [key: string]: any; }): Promise; listDatabases(): Promise; listTables(databaseName: string): Promise; } /** * @class CloudSQLTool * @description Implements Google Cloud SQL operations as an MCP tool. */ export declare class CloudSQLTool implements CloudSQLOperations { private config; constructor(config: CloudSQLConfig); /** * Executes a SQL query against the configured Cloud SQL database. * @param {string} query The SQL query to execute. * @param {any[]} [params] Optional parameters for the query. * @returns {Promise} The result of the query. */ executeQuery(query: string, params?: any[]): Promise; /** * Manages the Cloud SQL instance (start, stop, restart, resize). * @param {'start' | 'stop' | 'restart' | 'resize'} action The management action to perform. * @param {any} [options] Additional options for the action (e.g., new size for resize). * @returns {Promise} The result of the management operation. */ manageInstance(action: 'start' | 'stop' | 'restart' | 'resize', options?: any): Promise; /** * Configures the Cloud SQL database settings. * @param {{ [key: string]: any }} config The configuration settings to apply. * @returns {Promise} The result of the configuration update. */ configureDatabase(config: { [key: string]: any; }): Promise; /** * Lists all databases in the Cloud SQL instance. * @returns {Promise} A list of database names. */ listDatabases(): Promise; /** * Lists all tables in a specific database within the Cloud SQL instance. * @param {string} databaseName The name of the database. * @returns {Promise} A list of table names. */ listTables(databaseName: string): Promise; /** * Returns the capabilities provided by this tool. * @returns {ToolCapability[]} An array of tool capabilities. */ static getCapabilities(): ToolCapability[]; } //# sourceMappingURL=cloud-sql.d.ts.map