import { Constraint, IR, Rule } from "./ir";
/**
 * A rule with a language constraint.
 */
export type SquashedRule = Rule & {
    constraint: Constraint;
};
/**
 * A squashed intermediate representation.
 * The rules are flattened into a single array to make them easier to process.
 */
export type SquashedIR = {
    rules: SquashedRule[];
};
/**
 * Squashes an `IR` for further processing.
 */
export declare function squash(ir: IR): SquashedIR;
//# sourceMappingURL=squash.d.ts.map