export { validateIdentifier, buildInsert, buildUpdate, buildDelete, buildSelect } from '../postgres/query-builder.js'; export declare function validateInterval(interval: string, context?: string): string; export declare function validateAggregate(expr: string, context?: string): string; interface QueryResult { sql: string; values: unknown[]; } interface SqlResult { sql: string; } interface HypertableOptions { chunkInterval?: string; } interface TimeBucketOptions { aggregates?: string[]; where?: Record; orderBy?: string; limit?: number; } interface ContinuousAggregateOptions { withNoData?: boolean; } /** * Build a CREATE TABLE + hypertable conversion statement. * TimescaleDB hypertables are regular tables converted via create_hypertable(). */ export declare function buildCreateHypertable(table: string, timeColumn: string, options?: HypertableOptions): QueryResult; /** * Build a time_bucket aggregation query. */ export declare function buildTimeBucket(table: string, timeColumn: string, bucketSize: string, options?: TimeBucketOptions): QueryResult; /** * Build a continuous aggregate creation statement. */ export declare function buildContinuousAggregate(viewName: string, table: string, timeColumn: string, bucketSize: string, aggregates: string[], options?: ContinuousAggregateOptions): SqlResult; /** * Build an ADD compression policy statement. */ export declare function buildCompressionPolicy(table: string, compressAfter: string): SqlResult; /** * Build an ALTER TABLE to enable compression on a hypertable. */ export declare function buildEnableCompression(table: string, segmentBy?: string, orderBy?: string): SqlResult;