import { Command } from "commander"; export type TCreateExpressionOptions = { type: string; id?: string; parentId?: string; position?: string; before?: string; after?: string; variableId?: string; operator?: string; }; /** * Adds a single expression to a premise and persists the result, returning * the new expression's id. * * The CLI builds an expression tree incrementally across many separate * process invocations (create the operator, then create each child). Every * intermediate state of that build is, by construction, not yet * Presentable — a freshly-created operator has zero children, and a binary * operator with one child so far is still under-filled. Under the engine's * default `'assistive'` behavior the post-mutation AN hook would eagerly * remove the empty operator (AN-3) or promote the single-child operator, * discarding the node the very next invocation needs to attach a child to. * * So this mutation runs in `'permissive'` mode (the same permissive-build * pattern `import.ts` uses): the partial tree is persisted as-is. Callers * tidy the finished tree explicitly via the `repair` / `normalize` * commands once all nodes are in place. */ export declare function runCreateExpression(argumentId: string, version: number, premiseId: string, opts: TCreateExpressionOptions): Promise; export declare function registerExpressionCommands(versionedCmd: Command, argumentId: string, version: number): void; //# sourceMappingURL=expressions.d.ts.map