import { type AstNode } from './util'; /** * Options for the require-dbx-model-firebase-index-query-suffix rule. */ export interface FirebaseRequireDbxModelFirebaseIndexQuerySuffixRuleOptions { readonly suffix?: string; readonly markerTag?: string; readonly allowedSuffixes?: readonly string[]; readonly strippableSuffixes?: readonly string[]; } /** * ESLint rule definition for require-dbx-model-firebase-index-query-suffix. */ export interface FirebaseRequireDbxModelFirebaseIndexQuerySuffixRuleDefinition { readonly meta: { readonly type: 'suggestion'; readonly fixable: undefined; readonly docs: { readonly description: string; readonly recommended: boolean; }; readonly messages: Readonly>; readonly schema: readonly object[]; }; create(context: { options: FirebaseRequireDbxModelFirebaseIndexQuerySuffixRuleOptions[]; report: (descriptor: { node: AstNode; messageId: string; data?: Record; }) => void; sourceCode: AstNode; }): Record void>; } /** * ESLint rule that enforces the canonical `Query` suffix on every `@dbxModelFirebaseIndex`-tagged * function. Mirrors the naming used by the canonical fixtures in * `packages/dbx-components-mcp/src/scan/model-firebase-index-extract.spec.ts` and production * factories in `packages/firebase/src/lib/model/**\/*.query.ts`. * * Not auto-fixable: renaming across files (call sites + tests) is outside the safe scope of an * ESLint autofix. */ export declare const FIREBASE_REQUIRE_DBX_MODEL_FIREBASE_INDEX_QUERY_SUFFIX_RULE: FirebaseRequireDbxModelFirebaseIndexQuerySuffixRuleDefinition;