import { Type } from './types'; declare let MISSING_NODE: Node; /** * Wrapper for a typed value with some utility methods. */ declare class Node { readonly type: Type; readonly value: any; constructor(value: any, type?: Type); isNull(): boolean; isMissing(): boolean; equals(other: any): boolean; compare(other: any): number; /** * Returns the number of properties in an object, or number of elements in * an array. All other types return 0. */ size(): number; /** * This converts a value to a boolean using the Jackson JSON rules. * For example, string "true" is true, all other string values are false. */ asBoolean(): boolean; /** * Return the node's value as a string. */ asString(): string; /** * Return the node's value as a number, converting where needed. */ asNumber(): number; /** * Replace characters in the string with those in the mapping. */ replace(mapping: any): string; path(path: (string | number)[]): Node; get(key: string | number): Node; } /** * Wrap a value in a Node if not already. */ export declare const toNode: (value: any) => Node; /** * Returns true or false indicating the value is "truthy" per the * template compiler's rules. */ export declare const isTruthy: (n: Node | any) => any; export { Node, MISSING_NODE };