import type { CollectionDefinition } from "@codemation/core"; import type { ColumnSpec, IndexSpec } from "./collectionSchemaTypes"; export interface CollectionDdlEmitter { createSchemaSql(): string | null; createTableSql(definition: CollectionDefinition, columns: ReadonlyArray): string; addColumnSql(definition: CollectionDefinition, column: ColumnSpec): string; dropColumnSql(definition: CollectionDefinition, columnName: string): string; createIndexSql(definition: CollectionDefinition, index: IndexSpec): string; dropIndexSql(definition: CollectionDefinition, indexName: string): string; qualifyTable(collectionName: string): string; }