import { MatchingLogic } from "../../Matchers"; import { FailedMatchReport, SuccessfulMatchReport } from "../../MatchReport"; export declare function successfulTreeMatchReport(matcher: MatchingLogic, params: { matched: string; offset: number; children?: TreeChild[]; parseNodeName?: string; reason?: string; extraProperties?: Record; computeEffects?: ComputeEffectsReport[]; }): SuccessfulMatchReport; export interface ComputeEffectsReport { stepName: string; computeResult: any; alteredProperties: string[]; newProperties: string[]; } export declare type TreeChild = { explicit: false; matchReport: SuccessfulMatchReport; } | { explicit: true; name: string; matchReport: SuccessfulMatchReport; }; export declare function namedChild(name: string, matchReport: SuccessfulMatchReport): TreeChild; export declare function unnamedChild(matchReport: SuccessfulMatchReport): TreeChild; export declare function failedTreeMatchReport(matcher: MatchingLogic, params: { matched: string; originalOffset: number; reason: string; failureName: string; failureReport?: FailedMatchReport; failingOffset?: number; successes?: TreeChild[]; parseNodeName?: string; extraProperties: Record; computeEffects: ComputeEffectsReport[]; }): FailedMatchReport;