import { type AstNode } from './util'; /** * Options for the require-api-crud-spec-for-group rule. */ export interface FirebaseRequireApiCrudSpecForGroupRuleOptions { /** * Path-suffix marker that anchors the rule to API function folders. * Defaults to `'src/app/function'`. Files outside this segment are ignored. */ readonly functionDirSegment?: string; } /** * ESLint rule definition for require-api-crud-spec-for-group. */ export interface FirebaseRequireApiCrudSpecForGroupRuleDefinition { 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: FirebaseRequireApiCrudSpecForGroupRuleOptions[]; filename: string; report: (descriptor: { node: AstNode; messageId: string; data?: Record; }) => void; }): Record void>; } /** * ESLint rule that fires on every `/src/app/function//index.ts` * (the canonical anchor file for a Firebase Functions group) and verifies * that the same folder contains a `.crud.spec.ts` (or any * `.crud..spec.ts` variant) sibling. Mirrors the coverage check * in `dbx_model_test_validate_app` so editor + CI lint flag missing CRUD * coverage without needing the MCP audit. * * Not auto-fixable: creating a spec file shell with sensible test cases is * outside the safe scope of an ESLint autofix. */ export declare const FIREBASE_REQUIRE_API_CRUD_SPEC_FOR_GROUP_RULE: FirebaseRequireApiCrudSpecForGroupRuleDefinition;