import { type AstNode } from './util'; /** * Default method names this rule inspects for a `roles` selection option. * * Matches `nest.useModel(...)` and the multi-model `nest.useMultipleModels(...)`, * both of which accept an optional `roles` selection option. */ export declare const DEFAULT_USE_MODEL_METHOD_NAMES: readonly ["useModel", "useMultipleModels"]; /** * Options for the require-use-model-roles rule. */ export interface FirebaseRequireUseModelRolesRuleOptions { readonly methodNames?: readonly string[]; readonly additionalMethodNames?: readonly string[]; } /** * ESLint rule definition for require-use-model-roles. */ export interface FirebaseRequireUseModelRolesRuleDefinition { 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: FirebaseRequireUseModelRolesRuleOptions[]; report: (descriptor: { node: AstNode; messageId: string; data?: Record; }) => void; }): Record void>; } /** * ESLint rule that warns when a `nest.useModel(...)` / `nest.useMultipleModels(...)` selection * does not specify a `roles` option. The `roles` option declares which granted roles the caller * requires for the selected model; omitting it silently runs the selection without an explicit * role assertion. * * Intentionally role-free selections are still allowed: pass `roles: []` to assert "no role * required", or add an inline eslint-disable for this rule. The rule only checks for the presence * of a `roles` property, so an empty array satisfies it. * * The rule matches by AST shape (member-expression method call) rather than receiver name, so it * covers `nest.useModel(...)`, `this._nestContext.useModel(...)`, etc. When the selection argument * is not an inline object literal (an identifier/variable, conditional, call result, or a literal * containing a spread), the rule skips it to avoid false positives. * * Not auto-fixable: the rule cannot infer the correct role(s) for a given selection. */ export declare const FIREBASE_REQUIRE_USE_MODEL_ROLES_RULE: FirebaseRequireUseModelRolesRuleDefinition;