import { IRFunc } from "../../../IRNodes/IRFunc.js";
import { LettedSetEntry } from "../../../IRNodes/IRLetted.js";
import { IRTerm } from "../../../IRTerm.js";
type ScopedLettedTerms = {
    maxScope: IRFunc | undefined;
    group: LettedSetEntry[];
};
export declare function groupByScope(letteds: LettedSetEntry[]): ScopedLettedTerms[];
/**
 *
 * @param _term
 * @returns {number | undefined}
 *  a `number` if the `_term` param is open;
 *  represents the debuijn index an `IRVar` would have
 *  in order to point to the smallest scope that fulfills the term;
 *
 *  `undefined` if the term is closed
 */
export declare function _getMinUnboundDbn(_term: IRTerm): number | undefined;
export {};
