import { IContextFreeGrammar, IContextFreeGrammarInput } from './types';
/**
 * Returns the first occurrence of unit production inside production rules
 * @param variables Array of variables
 * @param productionRules Production rules of CFG
 * @returns A tuple where the first item is the variable which produces unit production, and second item indicates the rule position
 */
export declare function findFirstUnitProductionRule(variables: string[], productionRules: IContextFreeGrammar['productionRules']): readonly [string, number] | null;
/**
 * Modifies the production rules of a cfg to remove unit production rules
 * @param cfg Variable and production rules of a cfg
 */
export declare function removeUnitProduction(inputCfg: Pick<IContextFreeGrammarInput, 'variables' | 'productionRules'>): void;
