import type { SchemaMetadata } from '../../schema/types'; /** * Emits a model declaration type for each node type, wrapping the generic * `ModelInterface` from `grafeo-ogm` with the correct type parameters. * * When the node has at least one fulltext index (directly or via a * relationship-properties type), `FulltextInput` is passed as the * 12th generic (`TFulltext`) on `ModelInterface`. That threads typed * fulltext inputs into every method that accepts `fulltext` — `find`, * `findFirst`, `findFirstOrThrow`, `count`, `aggregate` — without * per-method redeclaration. Logical operators (`OR`/`AND`/`NOT`) recurse * over the same per-node input, so typos in index names surface as * compile errors at any nesting level. * * Example output (with fulltext): * ```typescript * export type BookModel = ModelInterface< * Book, * BookSelectFields, * BookWhere, * BookCreateInput, * BookUpdateInput, * BookConnectInput, * BookDisconnectInput, * BookDeleteInput, * 'books', * BookMutationSelectFields, * BookSort, * BookFulltextInput * >; * ``` */ export declare function emitModelDeclarations(schema: SchemaMetadata): string; /** * Emits the `ModelMap` type that maps every node name to its associated * generated types (node type, select fields, where, and mutation inputs). */ export declare function emitModelMap(schema: SchemaMetadata): string; /** * Emits the `InterfaceModelMap` type that maps every interface name to its * associated generated types (interface type and where input). */ export declare function emitInterfaceModelMap(schema: SchemaMetadata): string; //# sourceMappingURL=model-map-emitter.d.ts.map