import type { SubstrateDoc } from './schema.js'; import type { NodeConfigSubject } from './subject.js'; /** Does `doc` pass its gate for `subject`? * * - No gate (field absent) โ‡’ `true`: always eligible (the common case). * - A gate present โ‡’ the matcher engine's verdict. An empty `gate: {}` is inert * and returns `false` (never matches) per design ยง4 โ€” so an author cannot * write an always-eligible-via-empty-predicate doc. * * Eligibility only. A failing gate excludes the doc from BOTH automatic hooks * for this node; it remains findable by `crtr memory find` (search ignores * gate + rung). */ export declare function gatePasses(doc: SubstrateDoc, subject: NodeConfigSubject): boolean;