import { Connection } from '../connections'; export interface Table { name: string; type?: string; rowCount?: number | null; } export interface ColumnInfo { name: string; type: string; nullable: boolean; } export interface TableData { columns: string[]; rows: any[]; pagination: { page: number; limit: number; totalRows: number; totalPages: number; startIdx: number; endIdx: number; }; } export interface Connector { type: string; test(connection: Connection): Promise; getTables(connection: Connection): Promise; getData(connection: Connection, tableName: string, page: number, limit: number): Promise; getSchema(connection: Connection, tableName: string): Promise; getSnippet(connection: Connection, lang: string): string; executeQuery?(connection: Connection, query: string): Promise; } export declare class ConnectorRegistry { private static connectors; static register(connector: Connector): void; static get(type: string): Connector; }