import { Node } from "./Node.cjs";
import { NodeKind } from "./NodeKind.cjs";
/**
 * Represents a function node.
 */
export declare class FunctionNode<T> extends Node<T> {
    /**
     * @inheritdoc
     */
    readonly Type = NodeKind.FunctionNode;
    /**
     * The parameters of the function.
     */
    private parameters;
    /**
     * The body of the function.
     */
    private body;
    /**
     * Initializes a new instance of the {@linkcode FunctionNode} class.
     *
     * @param source
     * The source of the node.
     *
     * @param parameters
     * The arguments of the function.
     *
     * @param body
     * The body of the function.
     */
    constructor(source: T, parameters: string[], body: T);
    /**
     * Gets the parameters of the function.
     */
    get Parameters(): string[];
    /**
     * Gets the body of the function.
     */
    get Body(): T;
}
