import type { BaseQueryFormat, BaseQueryResult } from '../../base-query-format';
import Joi from 'joi';
import { executeHappensBefore } from './happens-before-query-executor';
import type { SlicingCriterion } from '../../../slicing/criterion/parse';
import type { Ternary } from '../../../util/logic';
export interface HappensBeforeQuery extends BaseQueryFormat {
    readonly type: 'happens-before';
    readonly a: SlicingCriterion;
    readonly b: SlicingCriterion;
}
export interface HappensBeforeQueryResult extends BaseQueryResult {
    readonly results: Record<string, Ternary>;
}
export declare const HappensBeforeQueryDefinition: {
    readonly executor: typeof executeHappensBefore;
    readonly asciiSummarizer: (formatter: import("../../../util/text/ansi").OutputFormatter, _analyzer: import("../../../project/flowr-analyzer").ReadonlyFlowrAnalysisProvider<import("../../../r-bridge/parser").KnownParser>, queryResults: BaseQueryResult, result: string[]) => true;
    readonly schema: Joi.ObjectSchema<any>;
    readonly flattenInvolvedNodes: () => never[];
};
