/** * extract.ts, turning a probe result into one observation. * * Three extractors, all bounded and all pure: * jsonpath , `$`, `.key`, `["key"]`, `[0]`, `[*]` against parsed JSON * regex , one match, optionally a capture group * jq-subset, a `.path[…]` selector optionally piped into length/keys/first/last * * None of them evaluates an expression. `jq-subset` is a hand-written walker * over a validated selector grammar, not a jq interpreter, precisely so there * is no expression language to escape from. */ import type { TriggerExtract, TriggerObservation, TriggerValue } from './types.js'; /** Deterministic string form used by change / transition / dedup comparisons. */ export declare function stableText(value: TriggerValue): string; /** Numeric coercion, or null when the value simply is not a number. */ export declare function numericOf(value: TriggerValue): number | null; export declare function toObservation(value: TriggerValue, at: number): TriggerObservation; /** * Runs one extractor over a probe result. Throws nothing on a miss, a miss is * `null`, which is a perfectly good observation for a `change` rule to see. */ export declare function runExtract(extract: TriggerExtract, input: TriggerValue): TriggerValue; //# sourceMappingURL=extract.d.ts.map