/** * Prisma Schema Parser * * Parses .prisma files to extract models, fields, relations, and indexes. * Detects tenant-scoped models (with organizationId/tenantId fields) and * models missing tenant fields. */ import type { ParsedFile, Location } from '../types.js'; export interface PrismaModel { name: string; fields: PrismaField[]; location: Location; hasTenantField: boolean; tenantFieldName?: string; scope: 'tenant' | 'user' | 'global'; indexes: PrismaIndex[]; } export interface PrismaField { name: string; type: string; isRelation: boolean; isTenantField: boolean; location: Location; } export interface PrismaIndex { fields: string[]; isCompound: boolean; hasTenantFirst: boolean; location: Location; } export interface PrismaParseResult { models: PrismaModel[]; file: ParsedFile; } export declare function parsePrismaSchema(sourceCode: string, filename: string, projectRoot: string): PrismaParseResult; export declare function findModelsWithoutTenantField(models: PrismaModel[]): PrismaModel[]; export declare function findUserScopedModels(models: PrismaModel[]): PrismaModel[]; export declare function findIndexesWithoutTenantFirst(models: PrismaModel[]): { model: string; index: PrismaIndex; }[]; //# sourceMappingURL=prisma-parser.d.ts.map