import type { TlObject } from '@mt-tl/tl'; import { Scope } from './scope.js'; /** A scenario assertion: a bare constructor name, or a map of dotted-path → expected. */ export type Matcher = string | Record; export interface MatchResult { ok: boolean; mismatches: Array<{ path: string; expected: unknown; actual: unknown; }>; } /** * Subset-match `actual` against a {@link Matcher}. A string matches the `_` tag; * an object matches each `path: expected` entry (path is dotted into `actual`, * `expected` is interpolated against `scope`). Only the listed paths are checked — * extra fields on `actual` are ignored — which is what makes one-line `expect`s work. */ export declare function match(matcher: Matcher, actual: TlObject, scope: Scope): MatchResult; /** Build a predicate from a matcher, for `expectUpdate`. */ export declare function toUpdatePredicate(matcher: Matcher, scope: Scope): (u: TlObject) => boolean; //# sourceMappingURL=match.d.ts.map