import { CallNodeBase } from "./CallNodeBase.cjs";
import { NodeKind } from "./NodeKind.cjs";
import { PathPartCandidate } from "./PathPartCandidate.cjs";
/**
 * Represents an interpolation node.
 */
export declare class InterpolationNode<T> extends CallNodeBase<T> {
    /**
     * @inheritdoc
     */
    readonly Type = NodeKind.InterpolationNode;
    /**
     * The expression to interpolate.
     */
    private expression;
    /**
     * Initializes a new instance of the {@linkcode InterpolationNode} class.
     *
     * @param source
     * The source of the node.
     *
     * @param expression
     * The expression to interpolate.
     *
     * @param typeArguments
     * The type arguments passed to the interpolation.
     *
     * @param args
     * The arguments passed to the interpolation.
     */
    constructor(source: T, expression: T, typeArguments: readonly T[], args: readonly T[]);
    /**
     * Gets the expression to interpolate.
     */
    get Expression(): T;
    /**
     * @inheritdoc
     */
    get PathPart(): PathPartCandidate<T>;
}
