import { type HasData, type HasSql, internalData } from './Internal.js'; import { type Sql } from './Sql.js'; import type { Field } from './expr/Field.js'; declare class IndexData { fields: Array; concurrently?: boolean; unique?: boolean; only?: boolean; using?: HasSql; order?: 'asc' | 'desc'; nulls?: 'first' | 'last'; where?: HasSql; } export declare class IndexApi extends IndexData { toSql(tableName: string, indexName: string, ifNotExists: boolean): Sql; } export declare class Index implements HasData { private brand; [internalData]: IndexApi; constructor(data: IndexData); on(...fields: Array | HasSql>): Index; concurrently(): Index; only(): Index; using(using: HasSql): Index; asc(): Index; desc(): Index; nullsFirst(): Index; nullsLast(): Index; where(where: HasSql): Index; } export declare function index(): Index; export declare function uniqueIndex(): Index; export {};