export declare enum SymbolicValueType { Unknown = 0, NumericLiteral = 1, Undefined = 2, ObjectLiteral = 3 } export interface SymbolicValue { readonly type: SymbolicValueType; } export interface NumericLiteralSymbolicValue extends SymbolicValue { readonly type: SymbolicValueType.NumericLiteral; readonly value: string; } export interface UnknownSymbolicValue extends SymbolicValue { readonly type: SymbolicValueType.Unknown; } export interface UndefinedSymbolicValue extends SymbolicValue { readonly type: SymbolicValueType.Undefined; } export interface ObjectLiteralSymbolicValue extends SymbolicValue { readonly type: SymbolicValueType.ObjectLiteral; } export declare function numericLiteralSymbolicValue(value: string): NumericLiteralSymbolicValue; export declare function simpleSymbolicValue(): UnknownSymbolicValue; export declare function undefinedSymbolicValue(): UndefinedSymbolicValue; export declare function objectLiteralSymbolicValue(): ObjectLiteralSymbolicValue; export declare function isEqualSymbolicValues(a: SymbolicValue, b: SymbolicValue): boolean; export declare function isNumericLiteralSymbolicValue(value: SymbolicValue): value is NumericLiteralSymbolicValue; export declare function isUndefinedSymbolcValue(value: SymbolicValue): value is UndefinedSymbolicValue;