import { type AstNode } from './util'; /** * Options for the require-firestore-constraint-type-parameter rule. */ export interface FirebaseRequireFirestoreConstraintTypeParameterRuleOptions { readonly constraintNames?: readonly string[]; readonly additionalConstraintNames?: readonly string[]; readonly allowedImportSources?: readonly string[]; } /** * ESLint rule definition for require-firestore-constraint-type-parameter. */ export interface FirebaseRequireFirestoreConstraintTypeParameterRuleDefinition { 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: FirebaseRequireFirestoreConstraintTypeParameterRuleOptions[]; report: (descriptor: { node: AstNode; messageId: string; data?: Record; }) => void; }): Record void>; } /** * ESLint rule that warns when an `@dereekb/firebase` field-path-narrowing constraint factory * (`where`, `orderBy`) is called without a generic type argument. Without ``, the * overload falls back to a plain `FieldPathOrStringPath`, so field-name typos and renamed * fields silently compile. * * The expected form is `where('field', '==', value)` / `orderBy('field')` so * the field path is constrained to `StringKeyPropertyKeys`. * * Not auto-fixable: the rule cannot safely infer the correct model type from the surrounding * function signature in an ESLint autofix. */ export declare const FIREBASE_REQUIRE_FIRESTORE_CONSTRAINT_TYPE_PARAMETER_RULE: FirebaseRequireFirestoreConstraintTypeParameterRuleDefinition;