import type { DuckDBConnection, DuckDBPreparedStatement, DuckDBType, DuckDBValue } from '@duckdb/node-api'; export declare class PreparedStatementCache { private connection; private size; private entries; private executionTail; private hits; private misses; private evictions; stats(): { size: number; capacity: number; hits: number; misses: number; evictions: number; }; constructor(connection: DuckDBConnection, size: number); resize(size: number): void; getOrPrepare(query: string): Promise; runExclusive(operation: () => Promise): Promise; remember(query: string, statement: DuckDBPreparedStatement): DuckDBPreparedStatement; evict(query: string): void; clear(): void; private evictOldest; private trimToSize; } export declare function getPreparedStatementCache(connection: DuckDBConnection, size: number): PreparedStatementCache; export declare function clearPreparedStatementCache(connection: DuckDBConnection): void; /** Read cache counters without creating or resizing the native cache. */ export declare function getPreparedStatementCacheStats(connection: DuckDBConnection): { size: number; capacity: number; hits: number; misses: number; evictions: number; } | undefined; export declare function bindPreparedStatement(statement: DuckDBPreparedStatement, values: DuckDBValue[] | undefined, types?: DuckDBType[]): void;