import { Knex } from 'knex'; import { Table } from 'knex-schema-inspector/dist/types/table'; import { MongoClient } from 'mongodb'; interface IDBaseConfig { dbClient: 'sqlite3' | 'oracledb' | 'cockroachdb' | 'pg' | 'mysql' | 'mariadb' | 'mssql' | 'mongodb'; dbHost?: string; dbPort?: number; dbDatabase?: string; dbUser?: string; dbPassword?: string; dbConnectionString?: string; } interface IDBaseList { name: string; schema?: string; } interface ITableInfo extends Table { primaryKey?: string | null; } export declare class DatabaseService { config: IDBaseConfig | null; knexConfig: Knex.Config | null; database: Knex | MongoClient; constructor(options: { config: IDBaseConfig; }); testConnection(): Promise; getDatabases(): Promise; getTables(database?: string): Promise<{ name: string; }[]>; getTablesInfo(database?: string): Promise<(import("mongodb").CollectionInfo | Pick)[] | ITableInfo[]>; getColumns(tableName: string): Promise<{ name: string; }[]>; getColumnsInfo(tableName: string): Promise<{ name: string; }[]>; getForeignKeys(tableName?: string): Promise; destroy(): Promise; } export {};