export class FormulaApplication {
    /**
     * @param {API.SystemOperator} source
     * @param {Map<API.Variable, number>} cells
     * @param {Record<string, API.Term>|API.Term} from
     * @param {Record<string, API.Term>} to
     * @param {API.Cursor} cursor
     * @param {API.MatchFrame} parameters
     */
    constructor(source: API.SystemOperator, cells: Map<API.Variable, number>, from: Record<string, API.Term> | API.Term, to: Record<string, API.Term>, cursor: API.Cursor, parameters: API.MatchFrame);
    cells: Map<API.Variable<API.Scalar>, number>;
    source: API.SystemOperator;
    from: API.Term<API.Scalar> | Record<string, API.Term<API.Scalar>>;
    to: Record<string, API.Term<API.Scalar>>;
    cursor: API.Cursor;
    parameters: API.MatchFrame;
    get recurs(): null;
    /**
     * @template {API.Terms} Terms
     * @param {Terms} terms
     * @param {API.MatchFrame} bindings
     * @returns {API.InferTerms<Terms>}
     */
    resolve<Terms extends API.Terms>(terms: Terms, bindings: API.MatchFrame): API.InferTerms<Terms>;
    /**
     * @param {API.EvaluationContext} context
     */
    evaluate({ selection }: API.EvaluationContext): Generator<never, Map<API.Variable<API.Scalar>, API.Scalar>[], unknown>;
    /**
     * @template {API.Terms} Terms
     * @param {API.MatchFrame} frame
     * @returns {API.InferTerms<Terms>}
     */
    read<Terms extends API.Terms>(frame: API.MatchFrame): API.InferTerms<Terms>;
    /**
     * @param {API.MatchFrame} frame
     * @param {Record<string, API.Scalar>} extension
     */
    write(frame: API.MatchFrame, extension: Record<string, API.Scalar>): Map<API.Variable<API.Scalar>, API.Scalar>[];
    toJSON(): {
        match: API.FormulaMatch<{
            of: API.Numeric;
            by: API.Numeric;
        }, API.Numeric> | API.FormulaMatch<{
            of: API.Numeric;
            by: API.Numeric;
        }, API.Numeric> | API.FormulaMatch<{
            of: API.Numeric;
            by: API.Numeric;
        }, API.Numeric> | API.FormulaMatch<{
            of: API.Numeric;
            with: API.Numeric;
        }, API.Numeric> | API.FormulaMatch<{
            this: string | number;
            than: string | number;
        }, {}> | API.FormulaMatch<boolean, boolean> | API.FormulaMatch<API.Scalar, API.Scalar> | API.FormulaMatch<{
            this: string | number;
            than: string | number;
        }, {}> | API.FormulaMatch<{
            this: string | number;
            than: string | number;
        }, {}> | API.FormulaMatch<{
            this: string | number;
            than: string | number;
        }, {}> | API.FormulaMatch<API.Scalar, API.TypeName> | API.FormulaMatch<Record<string, API.Scalar>, API.Link<Record<string, API.Scalar>, 113, 30>> | API.FormulaMatch<{
            text: string;
            pattern: string;
        }, string> | API.FormulaMatch<string, number> | API.FormulaMatch<string, string> | API.FormulaMatch<Uint8Array<ArrayBufferLike>, string> | API.FormulaMatch<string, Uint8Array<ArrayBufferLike>> | API.FormulaMatch<{
            this: string;
            slice: string;
        }, true> | API.FormulaMatch<{
            of: string;
            start: string;
            end: string;
        }, string> | API.FormulaMatch<{
            of: string;
            with: string;
        }, string> | API.FormulaMatch<{
            of: API.Numeric;
            by: API.Numeric;
        }, API.Numeric> | API.FormulaMatch<{
            of: API.Numeric;
            by: API.Numeric /** @type {(input: API.Operand) => Iterable<API.Operand>} */;
        }, number> | API.FormulaMatch<number, number>;
        operator: "/" | "*" | "%" | "+" | "<" | "!" | "==" | ">" | ">=" | "<=" | "data/type" | "data/refer" | "text/like" | "text/length" | "text/words" | "text/lines" | "text/case/upper" | "text/case/lower" | "text/trim" | "text/trim/start" | "text/trim/end" | "utf8/to/text" | "text/to/utf8" | "text/includes" | "text/slice" | "text/concat" | "-" | "**" | "math/absolute";
    };
    toDebugString(): string;
}
import * as API from '../api.js';
//# sourceMappingURL=formula.d.ts.map