UNPKG

1.17 kBTypeScriptView Raw
1import type { SomeType } from "../types";
2import { Reflection, type TraverseCallback } from "./abstract";
3import type { DeclarationReflection } from "./declaration";
4import type { Serializer, JSONOutput, Deserializer } from "../../serialization";
5import type { SignatureReflection } from "./signature";
6/**
7 * Modifier flags for type parameters, added in TS 4.7
8 * @enum
9 */
10export declare const VarianceModifier: {
11 readonly in: "in";
12 readonly out: "out";
13 readonly inOut: "in out";
14};
15export type VarianceModifier = (typeof VarianceModifier)[keyof typeof VarianceModifier];
16/**
17 * @category Reflections
18 */
19export declare class TypeParameterReflection extends Reflection {
20 readonly variant = "typeParam";
21 parent?: DeclarationReflection | SignatureReflection;
22 type?: SomeType;
23 default?: SomeType;
24 varianceModifier?: VarianceModifier;
25 constructor(name: string, parent: Reflection, varianceModifier: VarianceModifier | undefined);
26 toObject(serializer: Serializer): JSONOutput.TypeParameterReflection;
27 fromObject(de: Deserializer, obj: JSONOutput.TypeParameterReflection): void;
28 traverse(_callback: TraverseCallback): void;
29}