import { A as ASTNode, y as ReferenceRecord, a as Config, z as BinOpNode, E as FunctionCallNode, G as ImplicitListNode, H as ListNode, K as NoOpNode, M as NumNode, P as ReferenceNode, Q as StringNode, V as UnaryOpNode } from './types-CpUWRnTg.js';
export { B as BaseSymbolType, k as BooleanSymbol, b as ColorManager, d as ColorSpecification, e as ColorSpecificationSchema, l as ColorSymbol, C as ConfigOptions, D as DEFAULT_LANGUAGE_OPTIONS, m as DictionarySymbol, g as FunctionSpecification, h as FunctionSpecificationSchema, F as FunctionsManager, I as ISymbolType, J as JsValue, L as LanguageOptions, p as ListSymbol, N as NullSymbol, q as NumberSymbol, r as NumberWithUnitSymbol, O as Operations, x as ReferenceRecordValue, R as ReservedKeyword, S as StringSymbol, s as SupportedFormats, u as Token, T as TokenSymbol, t as TokenType, v as UNINTERPRETED_KEYWORDS, U as UnitManager, i as UnitSpecification, j as UnitSpecificationSchema, c as collectReferenceNodes, f as filterAST, n as getResultTypeName, o as jsValueToSymbolType, w as walkAST } from './types-CpUWRnTg.js';
import { A as AllErrorCodes, L as LanguageError } from './interpreter-C2GNrbRq.js';
export { m as ColorErrorCode, C as ColorErrorData, n as ConfigErrorCode, g as ConfigErrorData, E as ErrorOptions, o as FunctionsErrorCode, F as FunctionsErrorData, c as Interpreter, I as InterpreterError, q as InterpreterErrorCode, h as InterpreterErrorData, d as InterpreterResult, e as Lexer, a as LexerError, w as LexerErrorCode, i as LexerErrorData, x as OperationsErrorCode, O as OperationsErrorData, f as Parser, b as ParserError, y as ParserErrorCode, j as ParserErrorData, P as ProcessorError, z as ProcessorErrorCode, k as ProcessorErrorData, S as SerializedError, B as SymbolsErrorCode, l as SymbolsErrorData, G as UnitErrorCode, U as UnitErrorData, r as isInterpreterError, s as isLanguageError, t as isLexerError, u as isParserError, v as isProcessorError, p as parseExpression, D as serializeError } from './interpreter-C2GNrbRq.js';
import 'arktype/out/variants/object';

declare const getMessage: (code: AllErrorCodes | string, data?: Record<string, unknown>) => string;

/**
 * Rename references in a token value string using an AST and rename map
 *
 * @param originalValue - The original token value string
 * @param ast - The parsed AST of the token value
 * @param renameMap - Map of old names to new names { "old.name": "new.name" }
 * @returns The updated token value string with renamed references
 *
 * @example
 * const renameMap = { "color.primary": "color.main" };
 * const updated = renameReferences("{color.primary}", ast, renameMap);
 * // Returns: "{color.main}"
 *
 * @example
 * const renameMap = { "a": "x", "b": "y" };
 * const updated = renameReferences("{a} + {b}", ast, renameMap);
 * // Returns: "{x} + {y}"
 */
declare function renameReferences(originalValue: string, ast: ASTNode, renameMap: Record<string, string>): string;

interface EvalOptions {
    references?: ReferenceRecord;
    config?: Config;
    allowStatements?: boolean;
}
interface EvalSuccess {
    success: true;
    result: unknown;
    resultString: string;
    type: string;
    executionTime: number;
}
interface EvalError {
    success: false;
    error: LanguageError;
    executionTime: number;
}
type EvalResult = EvalSuccess | EvalError;
declare function evaluateExpression(expression: string, options?: EvalOptions): EvalResult;

declare const ASTNodes: {
    BinOpNode: typeof BinOpNode;
    FunctionCallNode: typeof FunctionCallNode;
    ImplicitListNode: typeof ImplicitListNode;
    ListNode: typeof ListNode;
    NoOpNode: typeof NoOpNode;
    NumNode: typeof NumNode;
    ReferenceNode: typeof ReferenceNode;
    StringNode: typeof StringNode;
    UnaryOpNode: typeof UnaryOpNode;
};

export { ASTNode, ASTNodes, AllErrorCodes, Config, type EvalError, type EvalOptions, type EvalResult, type EvalSuccess, LanguageError, ReferenceRecord, evaluateExpression, getMessage, renameReferences };
