import { Token } from "./token";
/**
 * Base class for all JSONPath errors.
 */
export declare class JSONPathError extends Error {
    readonly message: string;
    readonly token: Token;
    constructor(message: string, token: Token);
}
/**
 * Error thrown due to unexpected, internal path tokenization problems.
 */
export declare class JSONPathLexerError extends JSONPathError {
    readonly message: string;
    readonly token: Token;
    constructor(message: string, token: Token);
}
/**
 * Error thrown due to type errors when evaluating filter expressions.
 */
export declare class JSONPathTypeError extends JSONPathError {
    readonly message: string;
    readonly token: Token;
    constructor(message: string, token: Token);
}
/**
 * Error thrown due to out of range indices.
 */
export declare class JSONPathIndexError extends JSONPathError {
    readonly message: string;
    readonly token: Token;
    constructor(message: string, token: Token);
}
/**
 * Error thrown when attempting to retrieve a filter function that has not
 * been registered.
 */
export declare class UndefinedFilterFunctionError extends JSONPathError {
    readonly message: string;
    readonly token: Token;
    constructor(message: string, token: Token);
}
/**
 * Error thrown due to syntax errors found during parsing a JSONPath query.
 */
export declare class JSONPathSyntaxError extends JSONPathError {
    readonly message: string;
    readonly token: Token;
    constructor(message: string, token: Token);
}
/**
 * Error thrown when the maximum recursion depth is reached.
 */
export declare class JSONPathRecursionLimitError extends JSONPathError {
    readonly message: string;
    readonly token: Token;
    constructor(message: string, token: Token);
}
/**
 * Error thrown due to invalid I-Regexp syntax.
 */
export declare class IRegexpError extends Error {
    readonly message: string;
    constructor(message: string);
}
