import type { ColumnDefinition, DictionaryDefinition, MaterializedViewDefinition, ProjectionDefinition, SchemaDefinition, SkipIndexDefinition, TableDefinition } from './model.js'; export declare function renderKeyClauseColumns(columns: string[], columnNames: ReadonlySet): string; /** * Renders ALTER TABLE ... MODIFY REFRESH for a refresh-only change. * Per live validation: APPEND must be re-included if present, because ClickHouse * treats omitting APPEND as "remove APPEND" and rejects. */ export declare function renderAlterModifyRefresh(def: MaterializedViewDefinition): string; export declare function renderDictionarySQL(def: DictionaryDefinition, replace?: boolean): string; export declare function toCreateSQL(def: SchemaDefinition): string; export declare function renderAlterAddColumn(def: TableDefinition, column: ColumnDefinition): string; export declare function renderAlterModifyColumn(def: TableDefinition, column: ColumnDefinition): string; /** * MODIFY COLUMN without an expression keeps the old one, so dropping it needs an * explicit REMOVE. It must run before the MODIFY: in one statement ClickHouse * casts the retained default to the new type first, so `'abc'` -> UInt64 fails. */ export declare function renderAlterRemoveColumnExpression(def: TableDefinition, column: ColumnDefinition, previous: ColumnDefinition): string | undefined; export declare function renderAlterDropColumn(def: TableDefinition, columnName: string): string; export declare function renderAlterRemoveCodec(def: TableDefinition, columnName: string): string; export declare function renderAlterAddIndex(def: TableDefinition, index: SkipIndexDefinition): string; export declare function renderAlterDropIndex(def: TableDefinition, indexName: string): string; export declare function renderAlterAddProjection(def: TableDefinition, projection: ProjectionDefinition): string; export declare function renderAlterDropProjection(def: TableDefinition, projectionName: string): string; export declare function renderAlterModifySetting(def: TableDefinition, key: string, value: string | number | boolean): string; export declare function renderAlterResetSetting(def: TableDefinition, key: string): string; export declare function renderAlterModifyTTL(def: TableDefinition, ttl: string | undefined): string; //# sourceMappingURL=sql.d.ts.map