import { DatabaseConfig, QueryResult } from '../types';
export declare class MysqlService {
    private connection;
    private config;
    constructor(config: DatabaseConfig);
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    query(sql: string, params?: any[]): Promise<QueryResult>;
    ping(): Promise<boolean>;
    getVersion(): Promise<string>;
    listDatabases(): Promise<string[]>;
    listTables(): Promise<string[]>;
    describeTable(tableName: string): Promise<any[]>;
    getTableRelations(tableName: string): Promise<{
        outgoing: any[];
        incoming: any[];
    }>;
    getTableIndexes(tableName: string): Promise<any[]>;
    insert(tableName: string, rows: any[]): Promise<{
        affectedRows: number;
        insertId: number;
    }>;
    update(tableName: string, data: any, whereClause: string): Promise<{
        affectedRows: number;
    }>;
    delete(tableName: string, whereClause: string): Promise<{
        affectedRows: number;
    }>;
    explain(query: string): Promise<any[]>;
    sampleData(tableName: string, count: number): Promise<any[]>;
}
//# sourceMappingURL=MysqlService.d.ts.map