import { Type } from "./type"; /** * Kind of primary type * * @export * @enum {number} */ export declare const enum PrimaryTypeKind { ImplicitAny = 0, PredefinedType = 1, TypeReference = 2, ObjectType = 3, ArrayType = 4, TupleType = 5, TypeQuery = 6, ThisType = 7, } /** * Primary type specification * * @export * @class PrimaryType * @extends {Type} */ export declare class PrimaryType extends Type { private _kind; private _namespace; private _typeArguments; /** * Kind of primary type * * @type {PrimaryTypeKind} * @memberOf PrimaryType */ kind: PrimaryTypeKind; /** * Namespace of the type reference * * @type {string} * @memberOf PrimaryType */ namespace: string; /** * Array of type arguments, of a generic type, or a tuple type. * * Example: A type Dictionary would have type arguments [string, number]. * * @type {Type[]} * @memberOf PrimaryType */ typeArguments: Type[]; /** * Creates an instance of PrimaryType. * @param {string} text Full text for the primary type * @param {PrimaryTypeKind} kind Kind of primary type * * @memberOf PrimaryType */ constructor(text: string, kind: PrimaryTypeKind); }