/**
 * @typedef {import("./common.js").ParameterI} ParameterI
 * @typedef {import("./common.js").Type} Type
 * @typedef {import("./common.js").TypeClass} TypeClass
 */
/**
 * @implements {ParameterI}
 */
export class Parameter implements ParameterI {
    /**
     * @param {string} name - typically "a" or "b"
     * @param {string} path - typicall "__T0" or "__F0"
     * @param {TypeClass} typeClass
     */
    constructor(name: string, path: string, typeClass: TypeClass);
    /**
     * @private
     * @readonly
     * @type {string}
     */
    private readonly _name;
    /**
     * @private
     * @readonly
     * @type {string}
     */
    private readonly _path;
    /**
     * @private
     * @readonly
     * @type {TypeClass}
     */
    private readonly _typeClass;
    /**
     * @type {string}
     */
    get name(): string;
    /**
     * @type {Type}
     */
    get ref(): import("./common.js").Type;
    /**
     * A null TypeClass matches any type
     * @type {TypeClass}
     */
    get typeClass(): import("./common.js").TypeClass;
    /**
     * @returns {string}
     */
    toString(): string;
}
export type ParameterI = import("./common.js").ParameterI;
export type Type = import("./common.js").Type;
export type TypeClass = import("./common.js").TypeClass;
//# sourceMappingURL=Parameter.d.ts.map