import { ColumnDefinition, DefaultSchemaGrammar, SchemaCommand } from '../../schema'; /** * SQLite schema grammar. SQLite has a single INTEGER type, no native boolean or * array types, and a very restricted ALTER TABLE. Auto-increment keys use * `INTEGER PRIMARY KEY AUTOINCREMENT`; booleans are stored as INTEGER (0/1); * arrays and JSON are stored as TEXT (JSON-encoded). Column changes and adding * foreign keys / dropping constraints after creation are not supported and * raise a clear error. */ export declare class SqliteSchemaGrammar extends DefaultSchemaGrammar { protected getAutoIncrementType(_column: ColumnDefinition): string; protected modifyUnsigned(_column: ColumnDefinition): string; protected booleanLiteral(value: boolean): string; protected arrayLiteral(value: any[]): string; protected getType(column: ColumnDefinition): string; protected compileChangeColumn(_table: string, column: ColumnDefinition): string[]; protected compileCommand(table: string, command: SchemaCommand): string[]; compileTableExists(table: string): { sql: string; bindings: any[]; }; compileColumnExists(table: string, column: string): { sql: string; bindings: any[]; }; /** * SQLite cannot `ALTER TABLE ... DROP COLUMN` when the column is indexed or * takes part in a foreign key, so the SchemaBuilder rebuilds the table instead. */ dropColumnStrategy(): 'alter' | 'rebuild'; }