import { InternalError } from "./InternalError.cjs";
import { IAdapter } from "../Transformation/IAdapter.cjs";
/**
 * Represents an error that occurred in an adapter.
 *
 * @template TInput
 * The type of the input of the adapter.
 *
 * @template TOutput
 * The type of the output of the adapter.
 */
export declare abstract class AdapterError<TInput, TNode, TContext> extends InternalError {
    /**
     * The adapter which caused the error.
     */
    private adapter;
    /**
     * The node related to the error.
     */
    private node;
    /**
     * The context of the operation.
     */
    private context;
    /**
     * Initializes a new instance of the {@linkcode AdapterError} class.
     *
     * @param adapter
     * The adapter which caused the error.
     *
     * @param node
     * The node related to the error.
     *
     * @param context
     * The context of the operation.
     */
    constructor(adapter: IAdapter<TInput, TNode, TContext>, node: TNode, context: TContext);
    /**
     * @inheritdoc
     */
    get ReportAction(): () => void;
    /**
     * Gets the adapter which caused the error.
     */
    protected get Adapter(): IAdapter<TInput, TNode, TContext>;
    /**
     * Gets the node related to the error.
     */
    protected get Node(): TNode;
    /**
     * Gets the context of the operation.
     */
    protected get Context(): TContext;
    /**
     * Gets the expected name of nameof function calls.
     */
    protected get NameofName(): string;
    /**
     * Gets the source code which caused the error.
     */
    protected get SourceCode(): string;
    /**
     * Gets an escaped representation of the {@linkcode SourceCode}.
     */
    protected get EscapedCode(): string;
    /**
     * The message of the error.
     */
    protected abstract get Message(): string;
    /**
     * Reports the error.
     */
    protected Report(): void;
}
