import type { RestApiDefinition } from './restApiDef'; import type { AxiosInstance } from 'axios'; export interface GraphQLTypeRef { kind: string; name?: string; ofType?: GraphQLTypeRef | null; } export interface GraphQLInputValue { name: string; description?: string; type: GraphQLTypeRef; defaultValue?: string; } export interface GraphQLField { name: string; description?: string; type: GraphQLTypeRef; args?: GraphQLInputValue[]; } export interface GraphQLType { kind: string; name: string; description?: string; fields?: GraphQLField[]; inputFields?: GraphQLField[]; possibleTypes?: GraphQLTypeRef[]; } export interface GraphQLIntrospectionResult { __schema: { types: GraphQLType[]; queryType?: { name: string; }; mutationType?: { name: string; }; subscriptionType?: { name: string; }; }; } export declare function scoreFieldName(name: string): number; export declare function chooseUsefulNodeAttributes(nodeType: GraphQLType | undefined, typeMap: Map): string[]; export declare function buildFirstTenArgs(field: GraphQLField, filterParamName?: string | null, filterValue?: string): string; export type GraphQLConnectionProjection = { kind: 'edges'; nodeTypeName: string; hasPageInfo: boolean; } | { kind: 'listField'; listFieldName: string; nodeTypeName: string; }; export declare function detectConnectionProjection(field: GraphQLField, typeMap: Map): GraphQLConnectionProjection | null; export declare function extractRestApiDefinitionFromGraphQlIntrospectionResult(introspectionResult: GraphQLIntrospectionResult): RestApiDefinition; export declare function fetchGraphQLSchema(url: string, headers: Record, axios: AxiosInstance, maxDepth?: number): Promise;