import type { IRuleEmptinessInput } from './i-rule-emptiness-input.js'; import type { ISettledRuleEmptiness } from './i-settled-rule-emptiness.js'; /** * THE settle for a rule that yielded nothing (round 13) — every plane's * "matched nothing" site calls it, so no plane can accept an empty rule by its * own reckoning. First match wins: * * 1. `unitsMatched > 0` → Matched (not empty). * 2. a matched file was unread → Unread (PARTIAL via the read scope; never empty, never failOnEmpty's 1). * 3. `assertsEmptyOutput` (baselines' rule-level `expectEmpty`): * every primary INCLUSION unit live or intended-empty → AssertedEmptyOutput (accepted); * any dead / unproven / not-effective one → Stale(DeadInput) — a fence over a dead input proves nothing. * 4. `emptiedByNegations` → EmptiedByNegations (skipped). * 5. `filesMatched === 0`: * every primary inclusion unit IntendedEmpty → IntendedEmpty (accepted — WentLive counts as live); * otherwise → Stale(NoFiles). * 6. files matched, 0 units came out → Stale(NoUnits) — NEVER assertable: that is the stale-extractor loud skip. * * A skipped state `fails` iff `failOnEmpty` — which the caller takes from the * ONE failOnEmpty authority, `failsWhenEmpty(rule)`. */ export declare function settleRuleEmptiness(input: IRuleEmptinessInput): ISettledRuleEmptiness; //# sourceMappingURL=settle-rule-emptiness.d.ts.map