import type { PartitioningConfig } from '../schema/table-builder'; /** * Build the `PARTITION BY ()` clause appended after a CREATE * TABLE's column list to declare a partitioned (parent) table. * * - Column-based: `PARTITION BY RANGE ("created_at")` * - Expression-based: `PARTITION BY RANGE (date_trunc('month', created_at))` */ export declare function buildPartitionByClause(config: PartitioningConfig): string; /** * Validate the PostgreSQL rule that a partitioned table's PRIMARY KEY (and any * UNIQUE constraint) must include every partition-key column. Throws a * descriptive error before the (otherwise cryptic) database error. * * Only checked for column-based partitioning when a primary key exists; * expression-based keys cannot be validated here. * * @param pkColumnNames Unquoted database column names that form the primary key. */ export declare function validatePartitioningPrimaryKey(config: PartitioningConfig, pkColumnNames: string[], tableName: string): void; //# sourceMappingURL=partition-sql.d.ts.map