import { Node } from "./Node.cjs";
import { NodeKind } from "./NodeKind.cjs";
import { PathPartCandidate } from "./PathPartCandidate.cjs";
import { InternalError } from "../Diagnostics/InternalError.cjs";
/**
 * Represents an unsupported node.
 */
export declare class UnsupportedNode<T> extends Node<T> {
    /**
     * @inheritdoc
     */
    readonly Type = NodeKind.UnsupportedNode;
    /**
     * The reason for the node being unsupported.
     */
    private reason?;
    /**
     * Initializes a new instance of the {@linkcode UnsupportedNode} class.
     *
     * @param source
     * The source of the node.
     *
     * @param reason
     * The reason for the node being unsupported.
     */
    constructor(source: T, reason?: InternalError);
    /**
     * Gets the reason for the node being unsupported.
     */
    get Reason(): InternalError | undefined;
    /**
     * @inheritdoc
     */
    get PathPart(): PathPartCandidate<T>;
}
