import type { Type } from '../../type/index.js'; /** * Options for the @Index decorator. */ export interface IndexDecoratorOptions { /** Custom index name */ name?: string; /** Whether index is unique */ unique?: boolean; /** Index type (btree, hash, gin, gist) */ type?: 'btree' | 'hash' | 'gin' | 'gist'; /** Partial index WHERE clause */ where?: string; } /** * Define a composite index on an entity class. * * @example * ```ts * @Index(['lastName', 'firstName'], { name: 'idx_users_fullname' }) * @Entity() * export class User { * @Id() id?: number; * @Field() firstName?: string; * @Field() lastName?: string; * } * * // With unique and partial index * @Index(['email'], { unique: true }) * @Index(['status'], { where: "status = 'active'" }) * @Entity() * export class User { ... } * ``` */ export declare function Index(columns: string[], options?: IndexDecoratorOptions): (target: Type) => void; //# sourceMappingURL=index-decorator.d.ts.map