declare type Expression = (data: any) => boolean;
declare class TrackMap {
    filter: Expression[];
    expression: Expression[];
    precedenceGroup: Expression[];
    attributeGroup: 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 {};
