import { IErrorHandler } from "./IErrorHandler.cjs";
import { INodeLocation } from "./INodeLocation.cjs";
/**
 * Provides the functionality to report errors.
 *
 * @template TNode
 * The type of the nodes to report errors for.
 *
 * @template TContext
 * The type of the context of the operation.
 */
export declare class ErrorHandler<TNode, TContext> implements IErrorHandler<TNode, TContext> {
    /**
     * @inheritdoc
     *
     * @param location
     * The location of the specified {@linkcode node}.
     *
     * @param item
     * The item related to the specified {@linkcode error}.
     *
     * @param context
     * The context of the operation.
     *
     * @param error
     * The error to report.
     */
    Report(location: INodeLocation, item: TNode, context: TContext, error: Error): void;
    /**
     * Dumps the specified {@linkcode location} as a string.
     *
     * @param location
     * The location to convert.
     *
     * @returns
     * A text describing the specified {@linkcode location}.
     */
    DumpLocation(location: INodeLocation): string | undefined;
}
