import { SQL } from 'drizzle-orm'; import { DrizzleDatabase, ExplainOptions, ExplainResult, IndexInfo } from '../types/index.js'; import { BaseDatabaseExecutor } from './base-executor.js'; export declare class DuckDBExecutor extends BaseDatabaseExecutor { execute(query: SQL | any, numericFields?: string[]): Promise; /** * Extract SQL string and params from a query object for error logging */ private extractSqlFromQuery; /** * Convert numeric string fields to numbers (only for measure fields) */ private convertNumericFields; /** * Coerce a value to a number if it represents a numeric type */ private coerceToNumber; getEngineType(): 'duckdb'; /** * Execute EXPLAIN on a SQL query to get the execution plan * DuckDB supports EXPLAIN and EXPLAIN ANALYZE */ explainQuery(sqlString: string, params: unknown[], options?: ExplainOptions): Promise; /** * Get existing indexes for the specified tables * DuckDB uses duckdb_indexes() table function */ getTableIndexes(tableNames: string[]): Promise; } /** * Factory function for creating DuckDB executors */ export declare function createDuckDBExecutor(db: DrizzleDatabase, schema?: any): DuckDBExecutor;