/**
 * @import { Word } from "@helios-lang/compiler-utils"
 * @typedef {import("../typecheck/index.js").TypeClass} TypeClass
 */
export class TypeParameter {
    /**
     * @param {Word} name
     * @param {Expr | undefined} typeClassExpr
     */
    constructor(name: Word, typeClassExpr: Expr | undefined);
    /**
     * @private
     * @readonly
     * @type {Word}
     */
    private readonly _name;
    /**
     * @private
     * @readonly
     * @type {Expr | undefined}
     */
    private readonly _typeClassExpr;
    /**
     * @type {string}
     */
    get name(): string;
    /**
     * @type {TypeClass}
     */
    get typeClass(): import("../typecheck/common.js").TypeClass;
    /**
     * @param {Scope} scope
     * @param {string} path
     * @returns {Parameter}
     */
    eval(scope: Scope, path: string): Parameter;
    /**
     * @returns {string}
     */
    toString(): string;
}
export type TypeClass = import("../typecheck/index.js").TypeClass;
import { Scope } from "../scopes/index.js";
import { Parameter } from "../typecheck/index.js";
import type { Word } from "@helios-lang/compiler-utils";
import { Expr } from "../expressions/index.js";
//# sourceMappingURL=TypeParameter.d.ts.map