import type { DataflowProcessorInformation } from '../../../../../processor';
import type { DataflowInformation } from '../../../../../info';
import type { ParentInformation } from '../../../../../../r-bridge/lang-4.x/ast/model/processing/decorate';
import type { PotentiallyEmptyRArgument } from '../../../../../../r-bridge/lang-4.x/ast/model/nodes/r-function-call';
import type { RSymbol } from '../../../../../../r-bridge/lang-4.x/ast/model/nodes/r-symbol';
import type { NodeId } from '../../../../../../r-bridge/lang-4.x/ast/model/processing/node-id';
/**
 * Processes a built-in 'stopifnot' function call.
 * This is special in that it may take a number of boolean expressions either via `...` or
 * via `exprs` for which each expression is now evaluated individually:
 * @example
 * ```r
 * stopifnot(exprs = {
 *   all.equal(pi, 3.1415927)
 *   2 < 2
 *   all(1:10 < 12)
 *   "a" < "b"
 * })
 * ```
 */
export declare function processStopIfNot<OtherInfo>(name: RSymbol<OtherInfo & ParentInformation>, args: readonly PotentiallyEmptyRArgument<OtherInfo & ParentInformation>[], rootId: NodeId, data: DataflowProcessorInformation<OtherInfo & ParentInformation>): DataflowInformation;
