import { AxiosInstance, AxiosResponse } from 'axios'; import { Eventual, Logger, SubgraphDeploymentID } from '@graphprotocol/common-ts'; import { DocumentNode } from 'graphql'; import { OperationResult } from '@urql/core'; import { BlockPointer, IndexingError } from './types'; import { GraphNode } from './graph-node'; import { SubgraphFreshnessChecker } from './subgraphs'; export interface SubgraphCreateOptions { logger: Logger; name: string; endpoint?: string; deployment?: { graphNode: GraphNode; deployment: SubgraphDeploymentID; }; subgraphFreshnessChecker?: SubgraphFreshnessChecker; } interface DeploymentStatus { health: string; synced: boolean; latestBlock?: BlockPointer | null; chainHeadBlock?: BlockPointer | null; fatalError?: IndexingError; } export type QueryResult = Pick, 'error' | 'data' | 'extensions'>; export declare class SubgraphClient { name: string; logger: Logger; freshnessChecker: SubgraphFreshnessChecker | undefined; endpointClient?: AxiosInstance; /** Endpoint URL for the Subgraph Endpoint from the config */ private subgraphConfigEndpoint?; /** Endpoint URL for the Subgraph Endpoint from the deployment */ private subgraphDeploymentEndpoint?; endpoint?: string; readonly deployment?: { id: SubgraphDeploymentID; status: Eventual; endpointClient: AxiosInstance; }; private constructor(); static create({ logger: parentLogger, name, endpoint, deployment, subgraphFreshnessChecker, }: SubgraphCreateOptions): Promise; private getClient; checkedQuery(query: DocumentNode, variables?: Record): Promise>; query(query: DocumentNode, variables?: Record): Promise>; queryRaw(body: string): Promise; } export {};