import { ParserContext } from '../context';
import { BigIntTypedArrayValue, TypedArrayValue } from '../types';
import { WellKnownSymbols } from './symbols';
import { SerovalBigIntNode, SerovalBigIntTypedArrayNode, SerovalBooleanNode, SerovalDateNode, SerovalInfinityNode, SerovalNaNNode, SerovalNegativeInfinityNode, SerovalNegativeZeroNode, SerovalNullNode, SerovalNumberNode, SerovalReferenceNode, SerovalRegExpNode, SerovalStringNode, SerovalTypedArrayNode, SerovalUndefinedNode, SerovalWKSymbolNode } from './types';
export declare const TRUE_NODE: SerovalBooleanNode;
export declare const FALSE_NODE: SerovalBooleanNode;
export declare const UNDEFINED_NODE: SerovalUndefinedNode;
export declare const NULL_NODE: SerovalNullNode;
export declare const NEG_ZERO_NODE: SerovalNegativeZeroNode;
export declare const INFINITY_NODE: SerovalInfinityNode;
export declare const NEG_INFINITY_NODE: SerovalNegativeInfinityNode;
export declare const NAN_NODE: SerovalNaNNode;
export declare function createNumberNode(value: number): SerovalNumberNode;
export declare function createStringNode(value: string): SerovalStringNode;
export declare function createBigIntNode(ctx: ParserContext, current: bigint): SerovalBigIntNode;
export declare function createReferenceNode(id: number): SerovalReferenceNode;
export declare function createDateNode(id: number, current: Date): SerovalDateNode;
export declare function createRegExpNode(id: number, current: RegExp): SerovalRegExpNode;
export declare function createTypedArrayNode(ctx: ParserContext, id: number, current: TypedArrayValue): SerovalTypedArrayNode;
export declare function createBigIntTypedArrayNode(ctx: ParserContext, id: number, current: BigIntTypedArrayValue): SerovalBigIntTypedArrayNode;
export declare function createWKSymbolNode(current: WellKnownSymbols): SerovalWKSymbolNode;
