import { SQL } from 'drizzle-orm/sql'; import { AnySQLiteColumn } from './columns'; import { AnySQLiteTable } from './table'; export interface IndexConfig { name: string; columns: IndexColumn[]; unique: boolean; where: SQL | undefined; } export declare type IndexColumn = AnySQLiteColumn | SQL; export declare class IndexBuilderOn { private name; private unique; constructor(name: string, unique: boolean); on(...columns: [IndexColumn, ...IndexColumn[]]): IndexBuilder; } export declare class IndexBuilder { protected $brand: 'SQLiteIndexBuilder'; constructor(name: string, columns: IndexColumn[], unique: boolean); /** * Condition for partial index. */ where(condition: SQL): this; } export declare class Index { protected $brand: 'SQLiteIndex'; readonly config: IndexConfig & { table: AnySQLiteTable; }; constructor(config: IndexConfig, table: AnySQLiteTable); } export declare type GetColumnsTableName = TColumns extends AnySQLiteColumn<{ tableName: infer TTableName extends string; }> | AnySQLiteColumn<{ tableName: infer TTableName extends string; }>[] ? TTableName : never; export declare function index(name: string): IndexBuilderOn; export declare function uniqueIndex(name: string): IndexBuilderOn; //# sourceMappingURL=indexes.d.ts.map