export type GraphqlTypeRef = { kind: 'named'; name: string; } | { kind: 'list'; ofType: GraphqlTypeRef; } | { kind: 'nonNull'; ofType: GraphqlTypeRef; }; export type GraphqlInputValue = { name: string; type: GraphqlTypeRef; description?: string; defaultValue?: unknown; defaultValueLiteral?: string; deprecationReason?: string; }; export type GraphqlField = { name: string; type: GraphqlTypeRef; description?: string; arguments: GraphqlInputValue[]; deprecationReason?: string; }; export type GraphqlEnumValue = { name: string; description?: string; deprecationReason?: string; }; type GraphqlNamedType = { name: string; description?: string; }; export type GraphqlObjectType = GraphqlNamedType & { kind: 'object'; fields: GraphqlField[]; interfaces: string[]; }; export type GraphqlInputObjectType = GraphqlNamedType & { kind: 'input'; fields: GraphqlInputValue[]; }; export type GraphqlEnumType = GraphqlNamedType & { kind: 'enum'; values: GraphqlEnumValue[]; }; export type GraphqlInterfaceType = GraphqlNamedType & { kind: 'interface'; fields: GraphqlField[]; interfaces: string[]; possibleTypes: string[]; }; export type GraphqlUnionType = GraphqlNamedType & { kind: 'union'; possibleTypes: string[]; }; export type GraphqlScalarType = GraphqlNamedType & { kind: 'scalar'; }; export type GraphqlType = GraphqlObjectType | GraphqlInputObjectType | GraphqlEnumType | GraphqlInterfaceType | GraphqlUnionType | GraphqlScalarType; export type GraphqlReference = { queryType?: string; mutationType?: string; subscriptionType?: string; types: GraphqlType[]; }; export type GraphqlTarget = { source: string; kind: 'query' | 'mutation' | 'type'; name: string; }; export type GraphqlReferenceData = { reference: GraphqlReference; target: GraphqlTarget; routes: Record; }; export type GraphqlArtifacts = { references: Record; pages: Record; }>; }; export {};