import type { VerticaConfig, QueryResult, TableStructure, IndexInfo, ViewInfo, TableInfo, StreamQueryOptions, StreamQueryResult } from "../types/vertica.js";
export declare class VerticaService {
    private config;
    private connection;
    private readonly readonlyQueryPrefixes;
    constructor(config: VerticaConfig);
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    isConnected(): boolean;
    private validateReadonlyQuery;
    executeQuery(sql: string, params?: unknown[]): Promise<QueryResult>;
    streamQuery(sql: string, options: StreamQueryOptions): AsyncGenerator<StreamQueryResult>;
    getTableStructure(tableName: string, schemaName?: string): Promise<TableStructure>;
    listTables(schemaName?: string): Promise<TableInfo[]>;
    listViews(schemaName?: string): Promise<ViewInfo[]>;
    listIndexes(tableName: string, schemaName?: string): Promise<IndexInfo[]>;
    testConnection(): Promise<boolean>;
}
//# sourceMappingURL=vertica-service.d.ts.map