import { type AstNode } from './util'; /** * Module that exports {@link FIREBASE_MODEL_SERVICE_FACTORY_NAME} — `@dereekb/firebase`. */ export declare const FIREBASE_MODEL_SERVICE_FACTORY_MODULE = "@dereekb/firebase"; /** * Imported name of the model-service factory whose calls trigger this rule. */ export declare const FIREBASE_MODEL_SERVICE_FACTORY_NAME = "firebaseModelServiceFactory"; /** * JSDoc tag that declares which Firestore model a `firebaseModelServiceFactory(...)` export * implements. Value is the canonical `FirestoreModelIdentity.modelType` string * (e.g. `guestbook`, `guestbookEntry`). */ export declare const DBX_MODEL_SERVICE_FACTORY_TAG = "dbxModelServiceFactory"; /** * Options for the require-dbx-model-service-factory-tag rule. */ export interface FirebaseRequireDbxModelServiceFactoryTagRuleOptions { readonly factoryName?: string; readonly allowedImportSources?: readonly string[]; readonly tagName?: string; } /** * ESLint rule definition for require-dbx-model-service-factory-tag. */ export interface FirebaseRequireDbxModelServiceFactoryTagRuleDefinition { readonly meta: { readonly type: 'problem'; readonly fixable: undefined; readonly docs: { readonly description: string; readonly recommended: boolean; }; readonly messages: Readonly>; readonly schema: readonly object[]; }; create(context: { options: FirebaseRequireDbxModelServiceFactoryTagRuleOptions[]; report: (descriptor: { node: AstNode; messageId: string; data?: Record; }) => void; sourceCode: AstNode; }): Record void>; } /** * ESLint rule that requires every `firebaseModelServiceFactory(...)` export to carry a * leading `@dbxModelServiceFactory ` JSDoc tag. * * The tag declares which Firestore model the factory implements, enabling the * dbx-components-mcp model catalog to join factory metadata onto model entries and powering * the orphan-model lint rule. */ export declare const FIREBASE_REQUIRE_DBX_MODEL_SERVICE_FACTORY_TAG_RULE: FirebaseRequireDbxModelServiceFactoryTagRuleDefinition;