export declare type Expression = (data: any) => boolean; export declare type SimplePath = { path: string; filter: null; subpath: null; }; export declare type FilterPath = { path: string; filter: Expression; subpath: string | null; }; declare class TrackMap { filter: Expression[]; patchPath: (SimplePath | FilterPath)[]; expression: Expression[]; precedenceGroup: Expression[]; attributeGroup: [string[][], Expression][]; prefixLogicalExpression: Expression[]; prefixLogicalExpressionOperator: ((e: Expression, data: any) => boolean)[]; infixLogicalExpression: Expression[]; infixLogicalExpressionPredicate: ["and" | "or", Expression][]; infixLogicalExpressionOperator: ("and" | "or")[]; postfixAssertion: Expression[]; postfixAssertionOperator: ((path: string[], data: any) => boolean)[]; infixAssertion: Expression[]; infixAssertionOperator: ((path: string[], value: any, data: any) => boolean)[]; infixAssertionValue: (string | number | boolean | null)[]; attributePath: string[][]; attributePathSegment: string[]; } export declare class Yard { private stats; tracks: TrackMap; pre(identifier: keyof TrackMap): void; post(identifier: keyof TrackMap): TrackMap; } export {};