import * as Semantic from '@math-blocks/semantic'; import type { Step } from '../../types'; /** * If node is of the form a(b + c + ...) perform distribution on the node to * produce ab + ac + .... If the node is a child of an 'add' node, the parent * should perform the distribution so that the new terms are part of that node. * * This function handles cases involving negatives and subtraction, creating * appropriate substeps along the way. * * If the node can be transform a Step object is returned, otherwise we return * undefined. * * @param node The node to transform. * @param path An array of nodes that were traversed to get to `node`. * @return {Step | undefined} */ export declare function distribute(node: Semantic.types.Node, path: readonly Semantic.types.Node[]): Step | void;