/**
 * Loosely can be thought as implementing generics, allows creation of types that reference other types
 * Useful for collection types, like lists
 */
export class ParametricDataType extends DataType {
    /**
     * @param {number} id
     * @param {string} name
     * @param {DataType[]} [parameters]
     */
    static from(id: number, name: string, parameters?: DataType[]): ParametricDataType;
    /**
     *
     * @type {DataType[]}
     */
    parameters: DataType[];
    /**
     *
     * @param {number} id
     * @param {string} name
     * @param {DataType[]} [parameters]
     */
    set(id: number, name: string, parameters?: DataType[]): void;
    /**
     *
     * @param {ParametricDataType} other
     * @returns {boolean}
     */
    equals(other: ParametricDataType): boolean;
    toJSON(): any;
    fromJSON(j: any): void;
    /**
     *
     * @returns {boolean}
     */
    get isParametricDataType(): boolean;
}
import { DataType } from "./DataType.js";
//# sourceMappingURL=ParametricDataType.d.ts.map